Hi all,
Currently I am testing JMS transport parameters of ESB 5.0.0 alpha pack
with MB 3.1.0 as the broker. While testing that, identified following
factors:
- As the JMS receiver, ESB can use proxy and inbound endpoints.
- While using jms transport within proxy, that will always pick up
default parameters defined with in axis2.xml.
While enabling jms transport for ESB, have to uncomment following fragments:
<transportReceiver name="jms"
class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="myTopicConnectionFactory" locked="false">
<parameter name="java.naming.factory.initial"
locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url"
locked="false">repository/conf/jndi.properties</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">TopicConnectionFactory parameter>
<parameter name="transport.jms.ConnectionFactoryType"
locked="false">topic</parameter>
</parameter>
<parameter name="myQueueConnectionFactory" locked="false">
<parameter name="java.naming.factory.initial"
locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url"
locked="false">repository/conf/jndi.properties</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">QueueConnectionFactory</parameter>
<parameter name="transport.jms.ConnectionFactoryType"
locked="false">queue</parameter>
</parameter>
*<parameter name="default" locked="false"> <parameter
name="java.naming.factory.initial"
locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url"
locked="false">repository/conf/jndi.properties</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName"
locked="false">QueueConnectionFactory</parameter> <parameter
name="transport.jms.ConnectionFactoryType"
locked="false">queue</parameter> </parameter>*
</transportReceiver>
But enabling jms transaction only consider about "default" parameters.
- With above scenario, *user may cannot listen to topic and queue within
one ESB instance.*
- As a further identification, found the article [2] which will address
above scenario with a proper solution. Within that article, user have to
add extra parameters to override default configurations.
<parameter name="transport.jms.ContentType">
<rules>
<jmsProperty>contentType</jmsProperty>
<default>application/xml</default>
</rules>
</parameter>
<parameter
name="transport.jms.ConnectionFactory">myQueueConnectionFactory</parameter>
<parameter name="transport.jms.Destination">myQueue</parameter>
<parameter name="transport.jms.DestinationType">queue</parameter>
- With these configuration, it can successfully achieve the use case of
listening to both topic and queue within one ESB instance.
1. Is there any other method to fulfill above user requirement ?
2. When considering documentation noticed following bugs and improvements:
- Docs were not clearly identified enabling jms transport in proxy [1]
- Docs didn't mention about way of addressing above scenario and the
need of adding exact parameters for axis2.xml [4]
If above mention method is the only one to achieve the scenario, it may
have to update docs properly. Added document jira for required
modifications [5].
@ESB/MB Team - Please correct me if I have any misunderstanding about the
flow or functionality of features.
[1] https://docs.wso2.com/display/ESB500/JMS+Transport
[2]
http://wso2.com/library/articles/2013/03/configuring-wso2-esb-wso2-message-broker/
[3] https://docs.wso2.com/display/ESB470/Proxy+Services
[4] https://docs.wso2.com/display/ESB500/Configure+with+WSO2+Message+Broker
Thank you.
--
Best Regards,
Dilshani Subasinghe
Software Engineer - QA
WSO2, Inc.;http://wso2.com/
<http://www.google.com/url?q=http%3A%2F%2Fwso2.com%2F&sa=D&sntz=1&usg=AFQjCNGJuLRux6KkJwXKVUCYOtEsNCmIAQ>
lean.enterprise.middleware
Mobile: +94773375185
Blog: dilshanilive.blogspot.com
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev