a jms message sending node type
tom.baeyens Nov 2, 2006 2:12 PMHere's a discussion that started as an email thread and that i think might be interesting enough for the general public :-)
Tom Baeyens wrote: for the email node, this also took a long time till we found a proper template language. for the JMS node, we can write it if we limit ourselves to e.g. Map based messages and have a configuration like this. <message name="message node" destination=""> <properties> <property expression="#{a.jsf.like.expression}" /> <property expression="#{a.jsf.like.expression}" /> <property expression="#{a.jsf.like.expression}" /> </properties> <entry key="a fixed value"> <value expression="#{a.jsf.like.expression}" /> <value expression="#{a.jsf.like.expression}" /> <value expression="#{a.jsf.like.expression}" /> </entry> </message> we would have to add destination configurations that map destination names to actual JNDI queue names for that to work generic enough. i'm in doubt about the actual value we would create with this kind of effort. because this is of course a very limited usage of the JMS API's. so people are definitely going to want things that are outside the scope of these configuration options. also for processing the message, you need to write java code anyway. so the user of this message node would already have to have knowledge of how to write an MDB. that is why i am still reluctant to put that kind of effort into developing this. regards, tom. | -----Original Message----- | From: Jeff Delong | Sent: donderdag 2 november 2006 17:54 | To: Tom Baeyens | Subject: RE: jBpm Requirements | | Ok, you confirmed what I understood from looking at the code. | JMSMessageService is NOT a general purpose messaging sending | component, rather it's purpose is to support asynchronous | continuations via JMS. | | Back to the customer requirement. | | "Message delivery via JMS in support of asynchronous task | processing occurring in an MDB" | | Ok, this statement is not very precise, but generally what | customers want to be able to send a message to another | component (e.g., MDB), that does some processing, and then | returns a response message to the process to tell it to move on. | | This requires a JMS Node and an MDB to receive responses. The | CommandListenerBean should satisfy the requirements for the | MDB, which leaves the issue of the JMS Node. I see this as | similar to the Email Node. It has similar requirements - you | have to configure it to provide a destination (queueName) and | a message. How the message is constructed should be flexible, | allowing any object or string to be the message, or allowing | the construction of a message from a list of jBPM context | variables. The specification of a correlationId should also | be possible, for example a tokenId. And all of this node | configuration should be exposed via the GPD. | | For today's call we can ignore this, but sooner or later this | type of functionality needs to be provided by jBPM. | | Jeff | | Jeff DeLong | | -----Original Message----- | From: Tom Baeyens | Sent: Thursday, November 02, 2006 1:38 AM | To: Jeff Delong | Subject: RE: jBpm Requirements | | for async continuations, jbpm knows what message to send to | the job executor. | | but if you put a send on a node, what message should be sent | ? whereto ? so i don't see yet how we could implement a | configurable node type for send message. also, the POJO | message service doesn't support multiple destinations yet. | should not be hard, but it could be an effort to take into | account when implementing one reusable msg-node. | | but the biggest problem is the message. how will such a | msg-node compose the message ? this should be done with an | API that is usable for both the JMS and POJO implementations | of the message service. | | regards, tom.