Announcement Announcement Module
Collapse
No announcement yet.
Message delivery failure to Topic with JMS outbound adaptor Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Message delivery failure to Topic with JMS outbound adaptor

    Hi Guys,

    I have been facing issue of message not being delivered to topic using jms:outbound-channel-adapter.

    basically, I have a Jms client which sends message to a TibEms queue and then a SI-router sends messages to different channels. Once the message is processed on channel listeners( activators) the repsonse is put on the response channel and from there it gets picked up by JMS outbound adaptor to be sent to the topic.
    And it fails at the last point.

    Here are the errors--

    HTML Code:
    2010-06-17 11:01:07,042 | WARN | org.springframework.jms.listener.DefaultMessageListenerContainer - invokeErrorHandler:693  - Execution of JMS message listener failed, and no ErrorHandler has been set.
    org.springframework.integration.message.MessageHandlingException: error occurred in message handler [org.springframework.integration.transformer.MessageTransformingHandler@1e78c96]
    	at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:65)
    	at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:103)
    	at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:90)
    	at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:43)
    
    .........................
    
    Caused by: org.springframework.jms.InvalidDestinationException: Not allowed to create destination; nested exception is javax.jms.InvalidDestinationException: Not allowed to create destination
    	at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:285)
    	at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
    
    ..................................
    
    Caused by: javax.jms.InvalidDestinationException: Not allowed to create destination
    	at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:464)
    	at com.tibco.tibjms.TibjmsSession._createProducer(TibjmsSession.java:633)
    However, when i try same thing with ActiveMQ things work smoothly. Topics and Queues are there and have all permissions.

    Here are my sample configs-

    HTML Code:
       <bean id="connectionFactory" class="com.tibco.tibjms.TibjmsQueueConnectionFactory">
    		<constructor-arg type="java.lang.String"
    			value="${jmsUrl}" />
    		<property name="userName" value="${username}" />
    		<property name="userPassword" value="" />
    	</bean>
    	
    	<bean id="topicConnectionFactory" class="com.tibco.tibjms.TibjmsTopicConnectionFactory">
    		<constructor-arg type="java.lang.String"
    			value="${jmsUrl}" />
    		<property name="userName" value="${username}" />
    		<property name="userPassword" value="" />
    	</bean>
    
    
    	<bean id="requestQueue" class="com.tibco.tibjms.TibjmsQueue">
    		<constructor-arg value="ABC.${environment}.REQUEST" />
    	</bean>
    	<!--
    		incoming message queue . This queue will route the
    		messages to different in bound channels,
    	-->
    	<bean id="internalQueue" class="com.tibco.tibjms.TibjmsQueue">
    		<constructor-arg value="ABC.${environment}.HELLO" />
    	</bean>
    	<!--  Topic for the response messages -->
    	<bean id="responseTopic" class="com.tibco.tibjms.TibjmsQueue">
    		<constructor-arg value="ABC.${environment}.RESPONSE" />
    	</bean>
    	
    	<!--  JMS adaptor listening for messages on the queue. -->
    	<jms:message-driven-channel-adapter 
    		id="requestIn" destination="requestQueue" channel="helloRouter"
    		acknowledge="transacted"/>
    	
    	<!--
    		CORBA channel adaptor to send the response message on the Topic
    	-->
    	<jms:outbound-channel-adapter id="responsOut" destination="responseTopic"
    		channel="responseOutputChannel" auto-startup="true"></jms:outbound-channel-adapter>
    	
    	
    Please let me know if anyone has a pointer....

    thanks

  • #2
    guys,
    just to add - The Input reuqest to Request queue is JMS message of type TextMessage with XML string in it.

    Comment


    • #3
      When you defining a bean for a destination (queue or topic), Spring will attempt to create this destination for you if one doesn't exist.
      I am not a Tibco expert, but from the stacktrace it seems like Tibco doesn't allow you to create destinations. So it must be some type of settings on Tibco.

      Comment


      • #4
        Hi Rock Star, Were you able to resolve this issue? I'm facing the same issue.

        Comment


        • #5
          Hi Guys, I have resolved the issue.
          Please refer the below post -
          http://forum.springsource.org/showth...-Not-permitted

          Comment

          Working...
          X