Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Промежуточный JMS Queue Broker на клиенте. / 5 сообщений из 5, страница 1 из 1
27.09.2007, 09:31:25
    #34830036
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Промежуточный JMS Queue Broker на клиенте.
Здравствуйте!
Не подскажет ли уважаемый 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
27.09.2007, 11:49:27
    #34830532
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Промежуточный JMS Queue Broker на клиенте.
У нас для этих целей тоже 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
28.09.2007, 08:00:51
    #34833285
albedo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Промежуточный JMS Queue Broker на клиенте.
Вот оно что. То то я смотрю гоняю под нагрузкой - какие то глюки лезут на ровном месте.
А как же они embeded то позиционируют? Наверно это embeded но в машину с 4 процессорами и 16 Гб ОЗУ :)
Мы хотим сфилонить и сделать клиента, который и в оффлайне работает, незаметно для него, в сети он или нет. Нет сети - сообщение хранятся в брокере, есть сеть - отправляются на сервер. Хотя чует моё сердце, всё равно придётся транспорт самим писать. Нам траффик по КриптоПро шифровать надо. Java Socket мы уже реализовали как wrapper из виндового криптопро, может и удасться куда нибудь встроится.

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


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

IBM Websphere MQ

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


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

IBM Websphere MQ

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

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

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


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