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. 

Reply via email to