当前位置: 代码迷 >> java >> 在jndi.properties中声明变量
  详细解决方案

在jndi.properties中声明变量

热度:99   发布时间:2023-08-02 10:43:26.0

我想知道是否可以在jndi.properties中声明àcustom int或integer。

我正在做一个JMS程序。 而且我想轻松地“赋予”该程序一个int。

我试图独自寻找,但找不到任何有趣的东西。

我可以还是jndi可以格式化为只能由严格的规则使用?

我想在jndi.propreties中做什么:

#number of threads accepted
int.maxThreads = 3 

#queue.[jndiName] = [physicalName]
queue.MyQueue = MyQueue2

然后在java中:

int maxThreadsTemp = (int) ctx.lookup("maxThreads");

我尝试了但是失败了。 我得到正常的:“ javax.naming.NameNotFoundException:maxThreads”

那我是说错了还是做不到呢? 提前致谢。

*编辑:我使用ActiveMQ,对于JNDI,我使用此URL来完成: :

我找到了答案:我所做的就是忘记了方法查询(...)

ctx = new InitialContext(...);
int maxThreadsTemp = (int) ctx.lookup("maxThreads");

相反,我使用了一个哈希表(简单得多):

ctx = new InitialContext(...);
Hashtable<?, ?> environment =  ctx.getEnvironment();
            String nbrThread = (String)  environment.get("maxThreads");

并在jndi.properties中: maxThreads = 5 (@Claus Ibsen表示感谢)

  相关解决方案