2011-02-14 56 views
1

Spring JMS正在与我合作,因为标题说我得到一个NoClassDefFoundError,在下面找到代码。Spring org/springframework/transaction/support/TransactionSynchronization上的NoClassDefFoundError

import javax.jms.ConnectionFactory; 
import javax.jms.JMSException; 
import javax.jms.Message; 
import javax.jms.Queue; 
import javax.jms.Session; 

import org.springframework.jms.core.JmsTemplate; 
import org.springframework.jms.core.JmsTemplate102; 
import org.springframework.jms.core.MessageCreator; 

public class JMSQueueSender { 
    private JmsTemplate jmsTemplate; 
    private Queue queue; 

    public void setConnectionFactory(ConnectionFactory cf) { 
     this.jmsTemplate = new JmsTemplate102(cf, false); 
    } 

    public void setQueue(Queue queue) { 
     this.queue = queue; 
    } 

    public void simpleSend() throws Exception { 
     this.jmsTemplate.send(this.queue, new MessageCreator() { 
      public Message createMessage(Session session) throws JMSException { 
       return session.createTextMessage("hello queue world"); 
      } 
     }); 
    } 
} 

这也是示例代码中,我有IBM工作的代码,但我试图改变它的春天JMS,但它不工作。有人能帮我吗。

回答

3

我想你需要将spring-tx.jar(或org.springframework.transaction-*.jar与新的名称样式)添加到类路径。

+0

的bin目录已添加到我的构建路径,并且工作正常! – DenMette 2011-02-14 13:52:13

0

尝试检查您的JAVA_HOME和CLASSPATH设置。

+0

我在找什么?我检查了他们,java_home指向我的JDK,并且类路径指向IBM,并且我的JDK – DenMette 2011-02-14 13:38:17