|
|
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Хочу написать хэллоу ворлд с использованием jms/spring Вот читаю такую статью Я так понимаю тут мы шлём сообщения в очередь и потом их оттуда забираем. А как запустить саму очередь? так же просто не будет работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 13:18 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
когда заходишь на 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 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 14:08 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
обязательно ли jms запускать на каком нить аппликейшн сервере/ контейнере сервлетов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 14:56 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
questioner, очередь это как раз таки standalone приложение, просто так же встроено в апп серверы. Апи одинаковый, настройки коннекшена естественно разные, если к очереди делать стандалоун клиент то надо импортнуть джиэмс апи как компайл и клиент реализацию для конкретной очереди как рантайм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 15:03 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
no56892, авторавторджиэмс не понял Я вот хочу без апп сервера очередь запустить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 15:12 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
В вашей статье русским языком объяснено: авторwe will add the Spring JMS dependency and the ActiveMQ message broker, leaving the whole pom.xml as follows: То есть, используется Apache ActiveMQ (JMS-сервер). Внутри него и существуют очереди. Обычно он используется как отдельная программа, но в вашем примере встроен в приложение. Очередь создаётся и запускается из примера, не стал смотреть, в каком именно месте. Подробнее см. документацию по ActiveMQ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 15:49 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Partisan M, ааа, получается, что этот пример самодостаточен. Спасибо попробую поковыряться и понять, как это работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 16:48 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Partisan M, Да, всё запустилось. тесты проходят. Order отправляется через jmsTemplate и в Listenet прилетает но чот я никак не могу понять где и как стартует очередь. Как jmsTemplate понимает куда отсылать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 17:50 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
questionerКак jmsTemplate понимает куда отсылать? Адрес ActiveMQ задаётся в Код: java 1. 2. Там ещё может быть номер порта и другие параметры (необходимо ознакомиться, см. документацию по ActiveMQ). jmsTemplate - ознакомиться самостоятельно, что это такое. Это из Spring. Я хоть и пользуюсь иногда ActiveMQ, но не из Spring. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 18:14 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Partisan MquestionerКак jmsTemplate понимает куда отсылать? Адрес ActiveMQ задаётся в Код: java 1. 2. Там ещё может быть номер порта и другие параметры (необходимо ознакомиться, см. документацию по ActiveMQ). jmsTemplate - ознакомиться самостоятельно, что это такое. Это из Spring. Я хоть и пользуюсь иногда ActiveMQ, но не из Spring. То есть спринг предлагает какую-то свою реализацию ActiveMq ? с урлами я понял. Я ожидал либо в pom где-то либо в коде что типа "очередь, стартуй с такими вот параметрами" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 21:50 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
questionerТо есть спринг предлагает какую-то свою реализацию ActiveMq ? нет, к Spring относится только jmsTemplate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 21:54 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Partisan M, яс урлами я понял. Я ожидал либо в pom где-то либо в коде что типа "очередь, стартуй с такими вот параметрами" + судя по всему в примере вообще 2 очереди стартуют. одна очередь это один урл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 22:11 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
еще меня мучает вопрос. Когда я запускаю main method, то на каком сервер это всё запускается? упоминания слов tomcat и jetty я в pom.xml не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 22:28 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 23:33 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Некоторые серверы приложений с расширенными функциями, например, WebLogic, имеют поддержку JMS, то есть, являются и серверами JMS. Тогда ActiveMQ не нужен. Но по нему удобно изучать использование JMS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2016, 23:51 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Partisan M, автор Достаточно ActiveMQ - сервера JMS (или по-ихнему, JMS message broker). а это просто джарник, который сам по себе запускается?(без томката и джетти) и всё таки в примере где мы стартуем этот JMS брокер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 00:04 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
questionerа это просто джарник, который сам по себе запускается?(без томката и джетти) и всё таки в примере где мы стартуем этот JMS брокер? Установка и запуск отдельного ActiveMQ описаны, как легко догадаться, в документации по ActiveMQ. В примере я не увидел запуска, значит наверно, встроенный запускается вместе с программой. Попробуйте установить внешний ActiveMQ (всё равно для работы понадобится внешний сервер JMS) и обратиться к нему из программы, модифицировав его адрес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 00:09 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
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. сменили папку, разархивировали, сменили папку. Как это поможет запустить ПО ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 23:18 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
questionerКак это поможет запустить ПО ? Я за вас должен читать документацию? Вообще-то, я уже прочитал. Запуск описан в этом пункте: Running an ActiveMQ Broker Поскольку в программе уже есть встроенный ActiveMQ, то чтоб одновременно работал внешний на том же компьютере, надо одному из этих ActiveMQ задать адрес порта, отличающийся от адреса по умолчанию 61616 и не занятый другой программой. Или изменить проект так, чтобы убрать встроенный ActiveMQ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 23:34 |
|
||
|
Изучаю jms(spring)
|
|||
|---|---|---|---|
|
#18+
Я за последние два года написал цикл статей и примеров по работе с 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/ Удачи на просторах очередей и сообщений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 20:51 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39141788&tid=2124472]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 449ms |

| 0 / 0 |
