powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопрос по SonicMQ
8 сообщений из 8, страница 1 из 1
Вопрос по SonicMQ
    #37156147
СМ.Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
Нужно на PB v.11.5 написать взаимодействие с SonicMQ - считать/отправить сообщения из очереди.
Не могу подключиться через OLE.
Может не ту библиотеку использую ?
jmscomclient.dll
----------
OLEObject PBObject

long ll_status
PBObject = CREATE OLEObject //createobject
ll_status = PBObject.ConnectToNewObject("JMSCOMClient.JMSQueueConnectionFactory.1")

IF ll_status <> 0 THEN

messagebox("",string(ll_status))
ELSE
PBObject.DisconnectObject( )
END IF
---------
Заранее спасибо за подстказки.
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37156356
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чуть посложнее, делал когда-то
Код: 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.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
oleobject ConnectionFactory
oleobject Connection
oleobject Session
oleobject SendQueue
oleobject QueueSender
oleobject RecvQueue
oleobject QueueReceiver
oleobject MyMessage
oleobject textMessage
oleobject MyByteMessage
oleobject MessageConsumer

//Инициализация соединения с SonicMQ

long ll_ret
ConnectionFactory = create oleobject
ll_ret = ConnectionFactory.ConnectToNewObject("JMSCOMClient.JMSQueueConnectionFactory")
ConnectionFactory.initialize5(is_brokerURL, is_user, is_pass)
Connection = Create oleobject
ll_ret = Connection.ConnectToNewObject("JMSCOMClient.JMSQueueConnection")
Connection = ConnectionFactory.CreateQueueConnection()

is_clientID = ConnectionFactory.getConnectID()
Session = create oleobject

ll_ret = Session.ConnectToNewObject("JMSCOMClient.JMSQueueSession")

Session = Connection.createQueueSession(False,  1 )

SendQueue = create oleobject

ll_ret = SendQueue.ConnectToNewObject("JMSCOMClient.JMSQueue")

SendQueue = Session.createQueue(is_sendQueueName)

//SendQueue = QueueSender.getQueue()

QueueSender = create oleobject

ll_ret = QueueSender.ConnectToNewObject("JMSCOMClient.JMSQueueSender")

//QueueSender = Session.createSender(Session.createQueue(is_sendQueueName))

QueueSender = Session.createSender(SendQueue)

RecvQueue = create oleobject

ll_ret = RecvQueue.ConnectToNewObject("JMSCOMClient.JMSQueue")

RecvQueue = Session.createQueue(is_recvQueueName)

QueueReceiver = create oleobject

ll_ret = QueueReceiver.ConnectToNewObject("JMSCOMClient.JMSQueueReceiver")

if trim(nvl(is_selector,''))<>'' then

                QueueReceiver = Session.createReceiver2(RecvQueue,is_selector)

else      

                QueueReceiver = Session.createReceiver(RecvQueue)

end if

if ib_async then

//MessageConsumer    = create oleobject

//ll_ret = MessageConsumer.ConnectToNewObject("JMSCOMClient.JMSMessageConsumer")

//MessageConsumer =Session.createConsumer(RecvQueue)

//jms_listener = QueueReceiver

QueueReceiver.setMessageListener2()

               

end if   

 

MyMessage = create oleobject

ll_ret = MyMessage.ConnectToNewObject("JMSCOMClient.JMSTextMessage")

 

MyByteMessage = create oleobject

ll_ret = MyByteMessage.ConnectToNewObject("JMSCOMClient.JMSByteMessage")

 

 

textMessage = create oleobject

ll_ret = textMessage.ConnectToNewObject("JMSCOMClient.JMSTextMessage.1")

if isValid(Connection) then

                Connection.start()

                return  0 

else      

                return - 1 

end if

В общем здесь почти все есть:)
Сможете разобраться - вперед
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37156656
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай, раз ты используешь pb 11.5, лучше используй не OLE, а SonicMQ .NET Client
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37156863
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КомпостеровНиколай, раз ты используешь pb 11.5, лучше используй не OLE, а SonicMQ .NET Client
Поддерживаю, должно постабильней быть
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37157377
СМ.Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем.
---------
А можно подробней про "как использовать для pb 11.5, SonicMQ .NET Client "
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37157457
СМ.Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
но результат тот-же

ll_ret = ConnectionFactory.ConnectToNewObject("JMSCOMClient.JMSQueueConnectionFactory")

возвращает -2
------

Имеющиеся DLL из Sonic Sample :

17.06.2005 03:12 540 672 jmscomclient.dll
17.06.2005 03:12 3 805 184 libsmq.dll
17.06.2005 03:12 1 265 664 libsmqj.dll
17.06.2005 03:12 54 784 msvci70.dll
17.06.2005 03:12 487 424 msvcp70.dll
17.06.2005 03:12 344 064 msvcr70.dll
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37157555
Компостеров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример коннекта PB .NET:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#IF DEFINED PBDOTNET THEN
	Sonic.Jms.Cf.Impl.QueueConnectionFactory ConnectionFactory
	Sonic.Jms.QueueConnection Connection
	
	ConnectionFactory =  create Sonic.Jms.Cf.Impl.QueueConnectionFactory( 'tcp://10.50.0.46:2506' )
           Connection 	= 	ConnectionFactory.createQueueConnection ('Administrator', 'Administrator' )



#END IF
...
Рейтинг: 0 / 0
Вопрос по SonicMQ
    #37158019
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перерегистрируйте dll, проверьте коннект через Sonic Console
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вопрос по SonicMQ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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