Android 和 Java 上的 RabbitMQ
我正在尝试重现Java发布者的第一个示例,该示例可以在RabbitMQ的主页中找到。
首先,我在Java中完成了它,它工作正常。然后,我在Android上尝试了它,这就是奇怪的部分。
我已经手动添加了我在Java程序中使用的相同的jar库,这些库在RabbitMQ的教程中建议。也就是说,,和 被添加到目录中,然后在命令中引用,依此类推。amqp-client-5.4.1
slf4j-api-1.7.21
slf4j-simple-1.7.22
/libs
buid.gradle (module:app)
implementation files('libs/amqp-client-5.4.1.jar')
然后,我已经在我的文件中添加了所需的包依赖项,而没有遇到任何错误。但是,在添加应发布数据的代码段时,找不到导入库的不同方法,例如,显示它没有该方法 。MainActivity.java
factory
setHost
我附加了我当前正在使用的代码波纹管。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
public class MainActivity extends AppCompatActivity {
String QUEUE_NAME = "hello";
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("192.0.0.0"); //Marked as error
factory.setUsername("test");
factory.setPassword("test");
Connection connection;
Channel channel;
connection = factory.newConnection();
channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
String message = "Example3";
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
System.out.println(" [x] Sent '" + message + "'");
channel.close();
connection.close();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
关于为什么这段代码在Java上运行良好,但这些库无法在Android中正确导入的任何想法?