当前位置: 首页 > 面试题库 >

通过JNDI使用ActiveMQ

益英逸
2023-03-14
问题内容

我正在尝试使用JNDI创建与ActiveMQ的简单连接。

我有

  1. 队列名为“ example.A”。

  2. 根据接触JNDI的ActiveMQ文档,如果我想通过JNDI使用ConectionFactories和Queues(主题),则必须将jndi.properties文件放在我的类路径中。据我了解,默认情况下,activeMQ类路径是%activemq%/ conf目录。我没有改变。所以我的队列有这个属性:

queue.MyQueue = example.A

  1. 我为ActiveMQ创建了Java客户端类,该类使用JNDI如下:
        Properties jndiParameters = new Properties() ;
    jndiParameters.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
    jndiParameters.put(Context.PROVIDER_URL, "tcp://localhost:61616");
    Context context = new InitialContext(jndiParameters);
    ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("ConnectionFactory");
    Queue queue = (Queue) context.lookup("MyQueue");
    

但找不到我的队列,它引发异常:javax.naming.NameNotFoundException:MyQueue

我的错误在哪里?


问题答案:

问题是您要显式创建属性并将它们传递给InitialContext构造函数。这意味着将不会读取类路径上的jndi.properties。

您的代码应类似于:

Context context = new InitialContext();
ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("ConnectionFactory");
Queue queue = (Queue) context.lookup("MyQueue");


 类似资料:
  • 问题内容: 您是否知道是否可以通过jndi的数据源像其他任何数据库一样在春季设置mongodb实例? 谢谢 问题答案: 如果您的意思是像具有JDBC访问权限的常规RDBMS,那么答案是否定的。

  • 问题内容: 我可以通过JNDI读取LDAP中存储的密码。但是结果是一些乱码。那么我该如何解密呢? 下面是我的代码: 有什么建议吗?? 提前谢谢了 凯文 问题答案: 您所看到的([B @ 1cd8669)是Java所说的“这是一个字节数组”。 存储的“密码”很可能是真实密码的哈希值或加密版本。顾名思义,密码散列是不可逆的,因此,如果LDAP存储散列,则您将无法查看用户的密码。 如果它是加密的,那么如

  • 我使用Weblogic 10.3.3来定义到外部Tibco JMS队列的连接。 我有一个设置: 一个 JMS 模块 添加了外部服务器详细信息,包括 tibco 初始上下文工厂 jndi connection url jndi 属性凭据 set java.nameing.security.principal 在我的代码中,我正在从JNDI执行一个简单的查找。 由于我在weblogic上的配置中有凭据

  • 我使用以下代码创建了一个会话bean: 如您所见,它几乎是一个默认代码(除了getHello方法)。除此之外,我还有一个客户: 第一次它像一个魅力。但后来我创建了另一个bean: 现在豆子不起作用了。我得到这样一个错误: weblogic.application.ModuleException:无法将Business Interface绑定到JNDI名称:EJB2Project1WebApp_wa

  • 目前,在WMQ端,有一个名为的队列管理器。在这个队列管理器下,我创建了两个通道。一个是,它没有指定SSL密码规范;另一个是,它用配置SSL密码规范,用配置SSL身份验证。 我已经使用IBM密钥管理工具为队列管理器创建了一个密钥存储区。密钥db的路径是。 对于通道,我定义了一个队列连接工厂,如下所示: 现在我只能使用创建连接。但未能查找SSL队列连接工厂。我的代码如下所示: 在查找SSL工厂时,我是

  • 问题内容: 我使用Struts2 + JSP + Tomcat6+Hibernate+Mysql作为我的J2EE应用程序框架。按照这个]主题,我遇到了出现此错误的问题: 看来是由于mysql在n小时后关闭了它的连接。当人们回答时,我更改了hibernate配置以通过JNDI获得数据库连接。这是我采取的操作步骤: 我的hibernate.cfg.xml: 我放入META-INF详细信息中的conte