powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Промежуточный JMS Queue Broker на клиенте.
5 сообщений из 5, страница 1 из 1
Промежуточный JMS Queue Broker на клиенте.
    #34830036
albedo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Не подскажет ли уважаемый ALL, существуют ли JMS реализации (можно коммерческие), дающие такую возможность:

JMS сервер (standalone либо в AS). Клиенты (10-1000, задача для медучреждений разного размера).
Клиент представляет собой некий framework, к которому обращаются модули системы клиента (1-20).
С сервером клиенты обращаются только посредством этого framework. Траффик представляет собой Xml документы.
Модули отправляют документы frameworkу, и о судьбе документов спрашивают у него же.
Связь может рваться, или отсутствовать, поэтому Framework должен накапливать данные (сообщения), а уже тот должен заботится о связи с сервером.

Другими словами нужен JMS движок, поддерживающий такую схему: Агент1 накапливает поступающие на него сообщения для remote queue кот. находиться на Агенте2. Если связь есть, то пакеты сразу отправляются на Агент2.
К Агенту2 соединение идёт по TLS, и поддерживается автоматический reconect.

Вроде как ActiveMQ может делать embeded брокера. В общем разбираюсь с этим. Хочется немного сэкономить время и не разбираться с каждой JMS реализацией.
...
Рейтинг: 0 / 0
Промежуточный JMS Queue Broker на клиенте.
    #34830532
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас для этих целей тоже ActiveMQ было выбрано, работает. Только вод глючная такая эта хрень... Человек, который с этим разбирался и вкручивал это все в JBoss матерился страшно и долго, но в итоге все заработало. Есть еще один нюанс, этой мега реализации jms нужно минимум гигабайт памяти, иначе будет падать, что я сейчас и наблюдаю на тестовом макете.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
ERROR [ActiveMQEndpointWorker] Endpoint connection to JMS broker failed: Wire format negociation timeout: peer did not send his wire format.
 10 : 38 : 45 , 644  ERROR [ActiveMQEndpointWorker] Endpoint will  try  to reconnect to the JMS broker in  30  seconds
 10 : 38 : 59 , 397  ERROR [TransportConnector] Could not accept connection from / 127 . 0 . 0 . 1 : 48567 : java.io.IOException: The transport is not running.
java.io.IOException: The transport is not running.
        at org.apache.activemq.transport.TransportSupport.checkStarted(TransportSupport.java: 103 )
        at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java: 117 )
        at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java: 141 )
        at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java: 80 )
        at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java: 93 )
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java: 47 )
        at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java: 1138 )
        at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java: 805 )
        at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java: 885 )
        at org.apache.activemq.broker.TransportConnector$ 1 .onAccept(TransportConnector.java: 148 )
        at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java: 167 )
        at java.lang.Thread.run(Thread.java: 595 )
 10 : 39 : 20 , 070  INFO  [DatabaseChangeObserver] Successfully flushed  0  collections out of  0 
 10 : 39 : 41 , 013  ERROR [ActiveMQEndpointWorker] Endpoint connection to JMS broker failed: Wire format negociation timeout: peer did not send his wire format.
 10 : 39 : 41 , 014  ERROR [ActiveMQEndpointWorker] Endpoint will  try  to reconnect to the JMS broker in  30  seconds
 10 : 39 : 47 , 921  ERROR [TransportConnector] Could not accept connection from / 127 . 0 . 0 . 1 : 48580 : java.io.IOException: The transport is not running.
java.io.IOException: The transport is not running.
        at org.apache.activemq.transport.TransportSupport.checkStarted(TransportSupport.java: 103 )
        at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java: 117 )
        at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java: 141 )
        at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java: 80 )
        at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java: 93 )
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java: 47 )
        at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java: 1138 )
        at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java: 805 )
        at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java: 885 )
        at org.apache.activemq.broker.TransportConnector$ 1 .onAccept(TransportConnector.java: 148 )
        at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java: 167 )
        at java.lang.Thread.run(Thread.java: 595 )
 ERROR [TransportConnector] Could not accept connection from / 127 . 0 . 0 . 1 : 48593 : java.io.IOException: Wire format negociation timeout: peer did not send his wire format.
java.io.IOException: Wire format negociation timeout: peer did not send his wire format.
        at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java: 88 )
        at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java: 47 )
        at org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java: 1138 )
        at org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java: 805 )
        at org.apache.activemq.broker.TransportConnection.start(TransportConnection.java: 885 )
        at org.apache.activemq.broker.TransportConnector$ 1 .onAccept(TransportConnector.java: 148 )
        at org.apache.activemq.transport.tcp.TcpTransportServer.run(TcpTransportServer.java: 167 )
        at java.lang.Thread.run(Thread.java: 595 )




на серваке запущено 2-а экземпляра JBoss и каждому дано по 500 мега байт. Если использовать стандартую реализацию jms, то хватила бы каждому по 256 максимум.
...
Рейтинг: 0 / 0
Промежуточный JMS Queue Broker на клиенте.
    #34833285
albedo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот оно что. То то я смотрю гоняю под нагрузкой - какие то глюки лезут на ровном месте.
А как же они embeded то позиционируют? Наверно это embeded но в машину с 4 процессорами и 16 Гб ОЗУ :)
Мы хотим сфилонить и сделать клиента, который и в оффлайне работает, незаметно для него, в сети он или нет. Нет сети - сообщение хранятся в брокере, есть сеть - отправляются на сервер. Хотя чует моё сердце, всё равно придётся транспорт самим писать. Нам траффик по КриптоПро шифровать надо. Java Socket мы уже реализовали как wrapper из виндового криптопро, может и удасться куда нибудь встроится.

Если не секрет, а почему родной JBOss овый MQ не заюзали? Они типа его переписали говорят.
...
Рейтинг: 0 / 0
Промежуточный JMS Queue Broker на клиенте.
    #34883303
mq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mq
Гость
albedoНе подскажет ли уважаемый ALL, существуют ли JMS реализации (можно коммерческие), дающие такую возможность:


лучше не придумаешь...

IBM Websphere MQ

продукт для этого и делался и используется уже не первый десяток лет.
но стоит денег, и в Вашем случае нужно его будет ставить везде...
...
Рейтинг: 0 / 0
Промежуточный JMS Queue Broker на клиенте.
    #34897248
albedo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mq albedoНе подскажет ли уважаемый ALL, существуют ли JMS реализации (можно коммерческие), дающие такую возможность:


лучше не придумаешь...

IBM Websphere MQ

продукт для этого и делался и используется уже не первый десяток лет.
но стоит денег, и в Вашем случае нужно его будет ставить везде...

Согласен. IBM MQ - чудо. Особенно после того, как я узнал, что они Helth Level 7 маршрутизируют :) и ещё сотню форматов. Более того, мы даже специалистов IBM для этого дела приглашали. Целую лекцию выслушали, когда они нам про ESB рассказывали. Они ещё сейчас активно аппаратный ускоритель XSLT предлагают.

Но вот с лицензированием каждого рабочего места это перебор. Может я чего странного конечно хочу. В общем сделаем - посмотрим.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Промежуточный JMS Queue Broker на клиенте.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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