问题描述
我想知道是否可以在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来完成: :
1楼
我找到了答案:我所做的就是忘记了方法查询(...)
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表示感谢)