Hi everyone,
I'm trying to use SOAP over JMS with TIBCO EMS server. My cxf.xml configuration
file contains:
<jms:destination
name="{http://avalchev.com/Portfolio/}PortfolioPortImpl.jms-destination">
<jms:sessionPool
lowWaterMark="10"
highWaterMark="5000"/>
<jms:address
destinationStyle="queue"
jndiConnectionFactoryName="QueueConnectionFactory"
jndiDestinationName="test.q"
connectionUserName="admin"
connectionPassword="">
<jms:JMSNamingProperty name="java.naming.factory.initial"
value="com.tibco.tibjms.naming.TibjmsInitialContextFactory"/>
<jms:JMSNamingProperty name="java.naming.provider.url"
value="tibjmsnaming://localhost:7222"/>
</jms:address>
<jms:jmsConfig-ref>jmsConf2</jms:jmsConfig-ref>
</jms:destination>
<bean id="jmsConf2" class="org.apache.cxf.transport.jms.JMSConfiguration"
p:connectionFactory-ref="jmsConnectionFactory"
p:timeToLive="500"
p:sessionTransacted="false"
p:targetDestination="test.q"
p:pubSubDomain="false"
p:usingEndpointInfo="false"
p:receiveTimeout="1500"
p:concurrentConsumers="3"
p:maxConcurrentConsumers="5"
p:maxSuspendedContinuations="2"
p:acceptMessagesWhileStopping="true"
/>
<bean id="jmsConnectionFactory"
class="com.tibco.tibjms.TibjmsQueueConnectionFactory"
p:serverUrl="tcp://localhost:7222" />
For publishing endpoint I'm using the following code:
String JMS_ENDPOINT_URI =
"jms:queue:test.cxf.jmstransport.queue?timeToLive=1000"
+ "&jndiConnectionFactoryName=QueueConnectionFactory"
+ "&jndiInitialContextFactory"
+ "=com.tibco.tibjms.naming.TibjmsInitialContextFactory" +
"&jndiURL=tibjmsnaming://apstib001-dev:7222";
Object implementor = new PortfolioPortImpl();
JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
svrFactory.setServiceClass(PortfolioPort.class);
svrFactory.setTransportId(JMSSpecConstants.SOAP_JMS_SPECIFICATION_TRANSPORTID);
svrFactory.setAddress(JMS_ENDPOINT_URI);
svrFactory.setServiceBean(implementor);
svrFactory.create();
I want to use CXF in production, so is JaxWsServerFactoryBean ready for
production. I'm not going to use application server like JBoss.
Is there any other more "production ready" code for publishing JMS endpoint?
This message is strictly confidential as between the sender and the intended
recipient. If you are not the intended recipient of the message, please notify
the sender immediately and delete this e-mail from your system. It is not
possible to guarantee the integrity of e-mails sent through the Internet. It is
therefore not recommended to include unencrypted confidential data, such as
personal details, in e-mails. The content of the message does not bind Lombard
International Assurance S.A. ("Lombard") in any way and any information in this
e-mail on the services offered by Lombard is intended to provide general
guidance only. Nothing in this e-mail is intended as an offer or solicitation
for the purchase or sale of any life assurance, pension or other financial
product. Neither is the information intended to constitute any form of legal,
fiscal or investment advice and it should therefore be used only in conjunction
with appropriate professional advice obtained from a suitably qualified
professional source.