use of org.apache.oozie.service.JMSTopicService in project oozie by apache.
the class V2AdminServlet method getJMSConnectionInfo.
@Override
protected JsonBean getJMSConnectionInfo(HttpServletRequest request, HttpServletResponse response) throws XServletException, IOException {
Configuration conf = Services.get().getConf();
JMSTopicService jmsTopicService = Services.get().get(JMSTopicService.class);
String connectionProperties = conf.get(JMSJobEventListener.JMS_CONNECTION_PROPERTIES);
if (connectionProperties == null) {
throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, ErrorCode.E1601, "JMS connection property is not defined");
}
JMSConnectionInfoBean jmsBean = new JMSConnectionInfoBean();
JMSConnectionInfo jmsInfo = new JMSConnectionInfo(connectionProperties);
Properties jmsInfoProps = jmsInfo.getJNDIProperties();
jmsInfoProps.remove("java.naming.security.principal");
jmsBean.setJNDIProperties(jmsInfoProps);
if (jmsTopicService != null) {
jmsBean.setTopicPrefix(jmsTopicService.getTopicPrefix());
jmsBean.setTopicPatternProperties(jmsTopicService.getTopicPatternProperties());
} else {
throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, ErrorCode.E1601, "JMSTopicService is not initialized. JMS notification" + "may not be enabled");
}
return jmsBean;
}
Aggregations