powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Message Broker
3 сообщений из 28, страница 2 из 2
Message Broker
    #36610978
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в книжке написано, что queue манарег

f the broker is running on a distributed system,
you can configure the databases and the connections to be coordinated with other resource activity.

Global coordination on distributed systems is provided by WebSphere® MQ,

and can include interactions with local or remote databases,
including remote databases that are defined on z/OS systems


А если так, то mqcmit, т.е. апишка куи менеджера, должен закоммитить транзакцию, и в оракле тоже
...
Рейтинг: 0 / 0
Message Broker
    #36615870
Tyo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С коммитом отчасти разобрался.
Автокоммит в JavaCompute срабатывает, как только завершается MessageFlow. Но у меня первым нодом MessageFlow был таймер. И похоже что пока таймер рабоатет, весь флоу считается не закончившимся, и транзакция не коммитится. Пока обошел так: разделил на 2 разных флоу, в одном таймер, к-рый кидает сообщения в локальную очередь. Другой флоу хватает сообщения из очереди и далее обрабатывает с помощью JavaCompute, где все коммитится.

Зато возник следующий вопрос.
Пытаюсь изменить содержимое message в JavaCompute, но не складывается. Код вот такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public void evaluate(MbMessageAssembly inAssembly) throws MbException {
  MbOutputTerminal out = getOutputTerminal("out");
  MbMessage inMessage = inAssembly.getMessage();
  MbMessage outMessage = new MbMessage(inMessage);
  try 
  {
    MbElement root = outMessage.getRootElement();
    MbElement document = root.getLastChild().getFirstChild();
    MbElement chapter = document.createElementAsFirstChild(MbElement.TYPE_NAME,"Chapter",null);
    MbElement title = 
       chapter.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE,"title", "Message Flows");
    MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly,outMessage);
    out.propagate(outAssembly);
  } catch (Exception ex) {
    Util.logMe("EVALUATE ERROR "+ex.toString());
    ex.getStackTrace();
  }
}

Подпихиваю ему вот такой файлик

Код: plaintext
1.
2.
<?xml version="1.0" encoding='UTF-8'?>
<MyDocument>
</MyDocument>

...и надеюсь, что на выходе внуть тега <MyDocument> вставится тег <Chapter title="Message Flows">
Однако ж в результате получаю свое сообщение без изменений. В то же время и ошибок не происходит.
Подскажите плз, в чем мб дело?
...
Рейтинг: 0 / 0
Message Broker
    #36617754
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я что-то такое делал когда-то
вот может поможет, вроде оно работало, хотя не помню точно, может я спать пошел и всё бросил...

Код: 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.
public class MainPage extends MbJavaComputeNode {

	public void evaluate(MbMessageAssembly inAssembly) throws MbException {
		MbOutputTerminal out = getOutputTerminal("out");
		MbOutputTerminal alt = getOutputTerminal("alternate");

		MbMessage inMessage = inAssembly.getMessage();

		// create new message
		MbMessage outMessage = new MbMessage();
		MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly,
				outMessage);

		try {
			// optionally copy message headers
			copyMessageHeaders(inMessage, outMessage);
			// ----------------------------------------------------------
			// Add user code below
            MbElement root   = outMessage.getRootElement().createElementAsLastChild("xml");   
            MbElement html   = root.createElementAsFirstChild(MbXML.ELEMENT, "html", "");
            MbElement head   = html.createElementAsFirstChild(MbXML.ELEMENT, "head", "");
            MbElement title  = head.createElementAsFirstChild(MbXML.ELEMENT, "title", "IBM Message Broker test page");

            MbElement body   = html.createElementAsFirstChild(MbXML.ELEMENT, "body", "");
            MbElement h1_1   = body.createElementAsFirstChild(MbXML.ELEMENT, "h1", "IBM Message Broker test page");
            MbElement h3_1   = body.createElementAsFirstChild(MbXML.ELEMENT, "h3", "Page Information");
            MbElement p_1    = body.createElementAsFirstChild(MbXML.ELEMENT, "p", "IBM Message Broker can act as HTTP server.");
            MbElement h3_2   = body.createElementAsFirstChild(MbXML.ELEMENT, "h3", "Test description");
            MbElement p_2    = body.createElementAsFirstChild(MbXML.ELEMENT, "p", "1. Fill the form below out and then press Add.");
    //        <form method = "POST" name = "ADD" action = "http://localhost:7080/people/add">
            
			// End of user code
			// ----------------------------------------------------------

			// The following should only be changed
			// if not propagating message to the 'out' terminal
			out.propagate(outAssembly);

		} finally {

			// clear the outMessage even if there's an exception
			outMessage.clearMessage();
		}
	}

...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Message Broker
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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