I'm using JBoss 4.0.3SP1 and Spring Framework 1.2.7.
Proxying of mq destinations is impossible because of lack of Interface for 
SpyDestination.class

Even proxying with CGLib won't work because SpyDestination.class has no public 
constructor.

Following configuration:
<bean id="deadLetterQueue" 
class="org.springframework.jndi.JndiObjectFactoryBean">
  | <property name="jndiName" value="queue/DLQ" />
  | <property name="cache" value="false" />
  | <property name="proxyInterface" value="javax.jms.Queue" />
  | </bean>

produces output:

org.springframework.jms.InvalidDestinationException: Destination is not an 
instance of SpyDestination QUEUE.DLQ; nested exception is 
javax.jms.InvalidDestinationException: Destination is not an instance of 
SpyDestination QUEUE.DLQ; nested exception is 
javax.jms.InvalidDestinationException: Destination is not an instance of 
SpyDestination QUEUE.DLQ
javax.jms.InvalidDestinationException: Destination is not an instance of 
SpyDestination QUEUE.DLQ
at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:225)
at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:212)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:519)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:504)
at org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:479)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:432)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:477)
at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:543)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
changing proxyInterface to: javax.jms.Destination
<bean id="responseQueue" class="org.springframework.jndi.JndiObjectFactoryBean" 
lazy-init="false">
  | <property name="jndiName" value="queue/konektor_out" />
  | <property name="cache" value="false" />
  | <property name="proxyInterface" value="javax.jms.Destination" />
  | </bean>

produces following output:

java.lang.ClassCastException: $Proxy1
at org.jboss.mq.SpySession.createProducer(SpySession.java:657)
at 
org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemplate.java:807)
at org.springframework.jms.core.JmsTemplate.createProducer(JmsTemplate.java:788)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:498)
at org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:479)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:432)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:477)
at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:543)

can anyone tell is it possible to change behaviour of this code:

SpyMessageProducer.class

if (destination == null || (destination instanceof SpyDestination) == false)
  |          throw new InvalidDestinationException("Destination is not an 
instance of SpyDestination " + destination); 

if SpyDestination was an interface in the code above, everything would be fine.

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

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


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to