我需要从队列表中获取当前消费者和消息总数等参数。我需要创建一个具有此类功能的jsp,将其上传到服务器上并在服务器上运行。据我所知,这将是 jsp 文件内的纯 java 代码。
问题是:要在其中放入什么代码才能获取所需的参数?如何使用java获取这个队列参数并将其打印在服务器上?有人可以帮我吗?
更新:我找到了这段代码。但我不知道要在那里插入什么而不是“123”,如果我将 jsp 放在服务器上,我是否需要所有这些属性来进行连接?
public void countMessages() throws NamingException, JMSException {
Properties env = new Properties();
env.put(Context.PROVIDER_URL, "http://123");
env.put(Context.SECURITY_PRINCIPAL, "123");
env.put(Context.SECURITY_CREDENTIALS, "123");
env.put(Context.INITIAL_CONTEXT_FACTORY, "123");
InitialContext ctx = new InitialContext(env);
Destination queue = (Destination) ctx.lookup("123");
JMSDestinationRuntimeMBean destMBean = JMSRuntimeHelper.getJMSDestinationRuntimeMBean(ctx, queue);
System.out.println("count: " + destMBean.getMessagesCurrentCount());
}
最佳答案
使用普通的管理服务器登录信息,而不是 123:
env.put(Context.PROVIDER_URL, "http://your_host:port");
env.put(Context.SECURITY_PRINCIPAL, "username");
env.put(Context.SECURITY_CREDENTIALS, "password");
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
InitialContext ctx = new InitialContext(env);
Destination queue = (Destination) ctx.lookup("jndi name of your queue");
该设置是客户端连接并查找 JMS 信息的方式,并且应该在 JSP 页面内正常工作。
关于java - 如何通过在WEBLOGIC服务器上上传JSP(里面有java代码)来获取Consumers Current和Messages Total队列参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24951179/