powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Изучаю jms(spring)
24 сообщений из 24, страница 1 из 1
Изучаю jms(spring)
    #39141545
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хочу написать хэллоу ворлд с использованием jms/spring

Вот читаю такую статью



Я так понимаю тут мы шлём сообщения в очередь и потом их оттуда забираем.

А как запустить саму очередь? так же просто не будет работать?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141546
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141572
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
когда заходишь на start.spring.io

то там есть выбор из трех очередей:
авторJMS (Artemis)
Java Message Service API via Apache Artemis

JMS (HornetQ)
Java Message Service API via HornetQ

AMQP
Advanced Message Queuing Protocol via spring-rabbit

у каждой очереди свой api? свои аннотации?

Что делать есть я хочу использовать activeMq ?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141593
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обязательно ли jms запускать на каком нить аппликейшн сервере/ контейнере сервлетов ?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141596
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner, очередь это как раз таки standalone приложение, просто так же встроено в апп серверы. Апи одинаковый, настройки коннекшена естественно разные, если к очереди делать стандалоун клиент то надо импортнуть джиэмс апи как компайл и клиент реализацию для конкретной очереди как рантайм.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141600
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
no56892,

авторавторджиэмс

не понял


Я вот хочу без апп сервера очередь запустить
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141608
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вашей статье русским языком объяснено:
авторwe will add the Spring JMS dependency and the ActiveMQ message broker, leaving the whole pom.xml as follows:

То есть, используется Apache ActiveMQ (JMS-сервер). Внутри него и существуют очереди. Обычно он используется как отдельная программа, но в вашем примере встроен в приложение. Очередь создаётся и запускается из примера, не стал смотреть, в каком именно месте. Подробнее см. документацию по ActiveMQ.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141620
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

ааа, получается, что этот пример самодостаточен.


Спасибо попробую поковыряться и понять, как это работает
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141635
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

Да, всё запустилось. тесты проходят.

Order отправляется через jmsTemplate и в Listenet прилетает

но чот я никак не могу понять где и как стартует очередь.

Как jmsTemplate понимает куда отсылать?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141639
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerКак jmsTemplate понимает куда отсылать?


Адрес ActiveMQ задаётся в
Код: java
1.
2.
public class JmsJavaconfigApplication {
    private static final String JMS_BROKER_URL = "vm://embedded?broker.persistent=false,useShutdownHook=false";


Там ещё может быть номер порта и другие параметры (необходимо ознакомиться, см. документацию по ActiveMQ).

jmsTemplate - ознакомиться самостоятельно, что это такое. Это из Spring. Я хоть и пользуюсь иногда ActiveMQ, но не из Spring.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141722
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan MquestionerКак jmsTemplate понимает куда отсылать?


Адрес ActiveMQ задаётся в
Код: java
1.
2.
public class JmsJavaconfigApplication {
    private static final String JMS_BROKER_URL = "vm://embedded?broker.persistent=false,useShutdownHook=false";


Там ещё может быть номер порта и другие параметры (необходимо ознакомиться, см. документацию по ActiveMQ).

jmsTemplate - ознакомиться самостоятельно, что это такое. Это из Spring. Я хоть и пользуюсь иногда ActiveMQ, но не из Spring.

То есть спринг предлагает какую-то свою реализацию ActiveMq ?

с урлами я понял. Я ожидал либо в pom где-то либо в коде что типа "очередь, стартуй с такими вот параметрами"
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141723
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerТо есть спринг предлагает какую-то свою реализацию ActiveMq ?

нет, к Spring относится только jmsTemplate.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141733
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

яс урлами я понял. Я ожидал либо в pom где-то либо в коде что типа "очередь, стартуй с такими вот параметрами"

+ судя по всему в примере вообще 2 очереди стартуют.

одна очередь это один урл?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141747
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще меня мучает вопрос. Когда я запускаю main method, то на каком сервер это всё запускается?

упоминания слов tomcat и jetty я в pom.xml не вижу
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141775
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerодна очередь это один урл?


URL - это адрес JMS-сервера ActiveMQ. К очереди на нём обращение по её имени, а не по URL. К внешнему серверу ActiveMQ обращение будет точно такое же, только правильно указать его URL.

questionerеще меня мучает вопрос. Когда я запускаю main method, то на каком сервер это всё запускается?

Не на сервере, а в клиентском приложении. Оно по желанию посылает сообщения на сервер JMS или получает от него. В примере то и другое.

questionerупоминания слов tomcat и jetty я в pom.xml не вижу

Сервер приложений, то есть Tomcat или Jetty, не нужен. Достаточно ActiveMQ - сервера JMS (или по-ихнему, JMS message broker).

Вообще, осваивать сразу JMS и Spring может быть излишне трудно. Полезно посмотреть на примеры, прилагаемые к ActiveMQ - там без Spring.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141778
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторые серверы приложений с расширенными функциями, например, WebLogic, имеют поддержку JMS, то есть, являются и серверами JMS. Тогда ActiveMQ не нужен. Но по нему удобно изучать использование JMS.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141780
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

В этой книге найдёте ответы http://www.ozon.ru/context/detail/id/18601936/
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141788
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

автор Достаточно ActiveMQ - сервера JMS (или по-ихнему, JMS message broker).

а это просто джарник, который сам по себе запускается?(без томката и джетти)

и всё таки в примере где мы стартуем этот JMS брокер?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39141791
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerа это просто джарник, который сам по себе запускается?(без томката и джетти)

и всё таки в примере где мы стартуем этот JMS брокер?

Установка и запуск отдельного ActiveMQ описаны, как легко догадаться, в документации по ActiveMQ. В примере я не увидел запуска, значит наверно, встроенный запускается вместе с программой. Попробуйте установить внешний ActiveMQ (всё равно для работы понадобится внешний сервер JMS) и обратиться к нему из программы, модифицировав его адрес.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39142169
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

Дошёл до доки activeMq)

авторStart ActiveMQ from the target directory, for example:
cd [activemq_install_dir]\assembly\target
unzip activemq-x.x-SNAPSHOT.zip
cd activemq-x.x-SNAPSHOT
bin\activemq
NOTE: Working directories get created relative to the current directory. To create the working directories in the proper place, ActiveMQ must be launched from its home/installation directory.

сменили папку, разархивировали, сменили папку.

Как это поможет запустить ПО ?
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39142179
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39142184
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerКак это поможет запустить ПО ?

Я за вас должен читать документацию? Вообще-то, я уже прочитал. Запуск описан в этом пункте:

Running an ActiveMQ Broker

Поскольку в программе уже есть встроенный ActiveMQ, то чтоб одновременно работал внешний на том же компьютере, надо одному из этих ActiveMQ задать адрес порта, отличающийся от адреса по умолчанию 61616 и не занятый другой программой. Или изменить проект так, чтобы убрать встроенный ActiveMQ.
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39142848
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я за последние два года написал цикл статей и примеров по работе с JMS.

Начал с простого и доступного с известной проблемы Дейстры "спящий парикмахер"

https://vyatkins.wordpress.com/2013/12/21/sleeping-barber-problem/

Фактически я не стал решать саму проблему, а написал симулятор парикмахерской в разных ее способах

Код где используется очередь с блокировкой и один парикмахер
https://github.com/SVyatkin/KafkaSleepingBarberProblem/blob/master/src/main/java/com/sleeping/barber/blockingQueue/BlockingQueueSleepingBarber.java

Дальше два
https://github.com/SVyatkin/KafkaSleepingBarberProblem/blob/master/src/main/java/com/sleeping/barber/blockingQueue/BlockingQueueSleepingBarbers.java

Здесь вообще сколько угодно через пул экзекьютор

https://github.com/SVyatkin/KafkaSleepingBarberProblem/blob/master/src/main/java/com/sleeping/barber/blockingQueue/BlockingQueueSleepingBarbersPoolExecutor.java

помнится проблемма даже получило бурное продолжение на привете дот ком
https://forum.privet.com/viewtopic.php?p=5777187#p5777187
, что сподвигнуло меня написать и далее.

Далее я написал имплементацию для Кафка

https://vyatkins.wordpress.com/2015/03/24/how-to-use-kafka-message-broker-for-dijkstras-sleeping-barber-problem/

И как квинтэсенция на десерт есть имплементация под Cloud Foundry + RabbitMq

https://vyatkins.wordpress.com/

Удачи на просторах очередей и сообщений
...
Рейтинг: 0 / 0
Изучаю jms(spring)
    #39142946
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot questioner]Хочу написать хэллоу ворлд с использованием jms/spring
[/quot

]а можно встречный вопрос, зачем к простейшему JMS -у еще и Spring? Что он дает?
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Изучаю jms(spring)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]