Как определить, находится ли сервер Weblogic в режиме производства или разработки?

#java #weblogic

#java #weblogic

Вопрос:

Я столкнулся с проблемой определения (из кода приложения), работает ли сервер в режиме производства или разработки, поскольку для этого требуется другое поведение. Эта ссылка выглядела довольно многообещающе: http://coder-in-training.blogspot.de/2012/04/specifying-projectstage-in-jndi-with.html но серверный режим по умолчанию используется для производства, каждый раз. Знаете ли вы способ определить режим запуска Weblogic из кода Java?

Спасибо!

Ответ №1:

Я предполагаю, что вы подключаетесь к домену через JMX-соединение. В вашем Java-коде вы можете сделать следующее:

 MBeanServerConnection conn = JMXConnectorFactory.connect(url, hash).getMBeanServerConnection();
DomainRuntimeServiceMBean domainRuntimeServiceMBean = (DomainRuntimeServiceMBean) 
   MBeanServerInvocationHandler.newProxyInstance(conn, new ObjectName(DomainRuntimeServiceMBean.OBJECT_NAME));       
DomainMBean domainBean = domainRuntimeServiceMBean.getDomainConfiguration();
  

Как только у вас есть DomainMBean , это так просто, как:

 domainBean.isProductionModeEnabled() 
  

Обратитесь к API DomainMBean здесь:

DomainMBean API

Это также может быть полезным примером:

Подключение к серверу с помощью JMX и информация о листинге