我在Android应用程序中开发了ActiveMQ使用者,我在我的项目中包含了 activemq-all-5.9.0.jar 并设置了配置构建路径,但我的应用程序根本不适用于我。以下是我的代码。
ActiveMQConnectionFactory connectionFactory = null;
MessageConsumer consumer = null;
Session session = null;
Connection connection = null;
connectionFactory = new ActiveMQConnectionFactory("failover:(tcp://xxx.xx.xx)?useExponentialBackOff=true&maxReconnectAttempts=-1");
connection = connectionFactory.createConnection("xxx", "xxx");
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("jms.topic.test");
consumer = session.createConsumer(topic);
在运行App时显示以下错误消息。
DX 麻烦处理“javax / management / j2ee / ListenerRegistration.class”:
不明智或错误地使用核心类(java。*或javax。*) 什么时候没有建立核心库。
[2015-01-28 15:21:26 - MyApp] Dx 1错误;中止
[2015-01-28 15:21:26 - MyApp]转换为Dalvik格式失败,错误1
如何解决此问题以及如何使我的应用运行。
请帮帮我。
答案 0 :(得分:2)
Android不支持J2EE,或实际上任何javax.*
类,而是Oracle Java规范的子集。在此处查看更多详细信息:javax.* cannot be imported in my Android app?。
您需要为Android找到一个ActiveMQ客户端,或者自己编写一个(不建议这样做)。您可以尝试将现在支持的MQTT协议设计为移动设备documented in this article。
或者,如果一个选项,使用轻量级消息传递代理/客户端 - 周围有许多,更简单的客户端实现(对于Android这里)。