java – EJB中资源注入的问题
发布时间:2020-12-15 02:34:14 所属栏目:Java 来源:网络整理
导读:我有使用注释资源获取连接工厂的麻烦. 它适用于JNDI查找,但它没有注释,我的连接工厂为null. 这是我的代码与JNDI查找(工作): ConnectionFactory factory = (ConnectionFactory)context.lookup("/ConnectionFactory"); 这是带有注释的代码: @Resource(mapped
我有使用注释资源获取连接工厂的麻烦.
它适用于JNDI查找,但它没有注释,我的连接工厂为null. 这是我的代码与JNDI查找(工作): ConnectionFactory factory = (ConnectionFactory)context.lookup("/ConnectionFactory"); 这是带有注释的代码: @Resource(mappedName = "java:/ConnectionFactory") private ConnectionFactory factory; 我试过使用不同的mappedName:/ ConnectionFactory,java:/ JmsXA,JmsXA等但仍然是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) 解决方法
没有看到你所有的代码(对于所讨论的类),很难说,但这里有一些常见的嫌疑:
> @Resource注释实例未指定类型,因此它将默认为字段的类型.如果实际资源是a.b.c.ConnectionFactory,但您的字段是x.y.z.ConnectionFactory,则会出现某种错误. 发生这种情况时,您的日志中是否没有任何堆栈跟踪? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 具有Mockito.when()和泛型类型推断的奇怪的泛型边缘
- Hibernate connection.driver_class属性——指定数据库驱动
- Maven在Windows中的配置以及IDE中的项目创建实例
- 自增ID有什么坏处?什么样的场景下不使用自增ID?
- 为什么选择行/单元格时,我的Java自定义单元格渲染器不会显示
- spark中各种连接操作以及实用方法
- java – 将Eclipse插件添加到Eclipse RCP App
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别 冬蒽
- 在Java HashMap中使用对象作为键
- java-删除链表中指定键的节点