#java #jms #activemq
#java #jms #activemq
Вопрос:
Я публикую сообщение JMS с помощью ActiveMQ. Когда я использую приведенный ниже код, он правильно компилируется с двумя Jar (activemq-client.jar и geronimo-jms_1.1_spec.jar ):
Connection connection = null;
ConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_BROKER_URL);
connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("customerTopic");
connection.start();
String payload = "Important task";
Message msg = session.createTextMessage(payload);
MessageProducer producer = session.createProducer(topic);
producer.send(msg);
Thread.sleep(3000);
session.close();
connection.close();
Однако во время выполнения выдается ошибка при включении всех jar-файлов зависимостей. Он отлично работает при добавлении всех jar-файлов зависимостей. но я не хочу добавлять эти банки зависимостей (около 17 МБ)
Есть ли какой-либо способ отключить зависимость jars для клиентского приложения ActiveMQ?
Комментарии:
1. Итак, вы ожидаете, что ваш код будет волшебным образом работать без всего вспомогательного кода, который заставляет его работать?
Ответ №1:
Зависимости во время компиляции и выполнения часто различаются, поскольку различаются требования к компиляции кода и к его фактическому запуску. Если существует зависимость во время выполнения, вы не можете просто избавиться от нее, иначе приложение не будет работать должным образом (или вообще). «Зависимости» — это зависимости по определенной причине; приложение зависит от них.