アノテーション リソースを使用して接続ファクトリを取得するのに問題があります。JNDI ルックアップではうまく機能しますが、アノテーションでは機能しません。私の接続ファクトリは null です。
これは、JNDIルックアップを使用した私のコードです(機能):
ConnectionFactory factory = (ConnectionFactory)context.lookup("/ConnectionFactory");
これは注釈付きの私のコードです:
@Resource(mappedName = "java:/ConnectionFactory")
private ConnectionFactory factory;
/ConnectionFactory、java:/JmsXA、JmsXA などのように別の mapsName を試しましたが、まだ nullpointerexception :-/.
誰かがアイデアを持っている場合...
どうも !
これは私のクラスです:
@Stateless
public class ModuleCommunicationHandler implements IModuleCommunicationHandler
{
/** The connection factory. */
@Resource(mappedName = "java:/ConnectionFactory")
private ConnectionFactory factory;
...........
/**
* {@inheritDoc}
*/
@Override
public void sendMessage(JMSMessage jmsMessage, int deliveryMode, int acknowledgeMode) throws TechnicalException
{
try
{
context = new InitialContext();
factory = (ConnectionFactory)context.lookup("/ConnectionFactory");
// Setting the destination - Topic or Queue
destination = (Destination)context.lookup(jmsMessage.getDestination());
connection = factory.createConnection();
session = connection.createSession(false, acknowledgeMode);
sender = session.createProducer(destination);
connection.start();
// Creating the message
message = session.createTextMessage();
message.setText(jmsMessage.getBodyMessage());
// Sending the message
sender.setDeliveryMode(deliveryMode);
sender.send(message);
.....
そして、これはログです:
15:05:32,609 ERROR [STDERR] com.*.*.*.server.exception.ModuleCommunicationException: java.lang.NullPointerException
15:05:32,609 ERROR [STDERR] at com.*.*.*.server.service.ModuleCommunicationHandler.sendMessage(ModuleCommunicationHandler.java:147)
15:05:32,664 ERROR [STDERR] Caused by: java.lang.NullPointerException
15:05:32,664 ERROR [STDERR] at com.*.*.*.server.service.ModuleCommunicationHandler.sendMessage(ModuleCommunicationHandler.java:108)