[jboss-user] [Messaging, JMS & JBossMQ] - Own dead letter queue

andreyT do-not-reply at jboss.com
Tue Oct 31 12:39:37 EST 2006


I want to write erroneous messages in own dead letter queue (sns/DLQ). 
For this purpose I use the following code:

ejb-jar.xml:

  | <ejb-jar>
  |   <description>HearerMDB</description>
  |    <display-name>HearerMDB</display-name>
  |    <enterprise-beans>
  |       <message-driven>
  |            <ejb-name>HearerMDB</ejb-name>
  |            <ejb-class>com.hearer.Hearer</ejb-class>
  |            <message-destination-type>javax.jms.Queue</message-destination-type>
  |            <activation-config>   
  |                 <activation-config-property>
  |                         <activation-config-property-name>MaxPoolSize</activation-config-property-name>
  |                         <activation-config-property-value>6</activation-config-property-value>
  |                 </activation-config-property>
  |                 <activation-config-property>
  |                         <activation-config-property-name>providerAdapterJNDI</activation-config-property-name>
  |                         <activation-config-property-value>java:/SnsJMSProvider</activation-config-property-value>
  |                 </activation-config-property>
  |            </activation-config>
  |       </message-driven>
  |    </enterprise-beans>
  | </ejb-jar>
  | 

jboss.xml

  | <jboss>
  |   <enterprise-beans>
  |     <message-driven>
  |       <ejb-name>HearerMDB</ejb-name>
  |       <destination-jndi-name>queue/interlayC</destination-jndi-name>
  |       <configuration-name>Standard2 Message Driven Bean</configuration-name>
  |       <invoker-bindings>
  |         <invoker>     
  |           <invoker-proxy-binding-name>sintel-message-driven-bean</invoker-proxy-binding-name>
  |         </invoker>
  |       </invoker-bindings>
  |     </message-driven>
  |   </enterprise-beans>
  | 
  |   <invoker-proxy-bindings>
  |     <invoker-proxy-binding>
  |       <name>sintel-message-driven-bean</name>
  |       <invoker-mbean>sintel</invoker-mbean>
  |       <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
  |       <proxy-factory-config>
  |         <JMSProviderAdapterJNDI>java:/SnsJMSProvider</JMSProviderAdapterJNDI>
  |         <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
  |         <CreateJBossMQDestination>false</CreateJBossMQDestination>
  |         <MinimumSize>1</MinimumSize>
  |         <MaximumSize>15</MaximumSize>
  |         <KeepAliveMillis>30000</KeepAliveMillis>
  |         <MaxMessages>1</MaxMessages>
  |         <MDBConfig>
  |           <ReconnectIntervalSec>10</ReconnectIntervalSec>
  |           <DLQConfig>
  |             <DestinationQueue>queue/sns/DLQ</DestinationQueue>
  |             <MaxTimesRedelivered>10</MaxTimesRedelivered>
  |             <TimeToLive>0</TimeToLive>
  |           </DLQConfig>
  |         </MDBConfig>
  |       </proxy-factory-config>
  |     </invoker-proxy-binding>
  |   </invoker-proxy-bindings>
  | 
  |   <container-configurations>
  |     <container-configuration>
  |       <container-name>Standard2 Message Driven Bean</container-name>
  |       <call-logging>true</call-logging>
  |       <invoker-proxy-binding-name>sintel-message-driven-bean</invoker-proxy-binding-name>
  |       <container-interceptors>
  |         <interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
  |         <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
  |         <interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
  |         <!-- CMT -->
  |         <interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
  |         <interceptor transaction="Container">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
  |         <interceptor transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
  |         <!-- BMT -->
  |         <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
  |         <interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</interceptor>
  |         <interceptor transaction="Bean">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
  |         <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
  |       </container-interceptors>
  |       <instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
  |       <instance-cache></instance-cache>
  |       <persistence-manager></persistence-manager>
  |       <container-pool-conf>
  |         <MaximumSize>100</MaximumSize>
  |       </container-pool-conf>
  |     </container-configuration>
  |   </container-configurations>
  | </jboss>
  | 

But messages are still kept in standard queue (queue/DLQ). 
What is made incorrectly?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982168#3982168

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3982168



More information about the jboss-user mailing list