package org.talend.esb.mep.requestcallback.beans; import javax.xml.ws.Endpoint; import org.apache.cxf.jaxws.EndpointImpl; import org.springframework.beans.factory.InitializingBean; import org.talend.esb.mep.requestcallback.feature.CallContext; public class JmsEndpointConfigurator implements InitializingBean { private Endpoint endpoint; private boolean publishEndpoint = true; public JmsEndpointConfigurator() { super(); } public Endpoint getEndpoint() { return endpoint; } public void setEndpoint(Endpoint endpoint) { this.endpoint = endpoint; } public boolean isPublishEndpoint() { return publishEndpoint; } public void setPublishEndpoint(boolean publishEndpoint) { this.publishEndpoint = publishEndpoint; } @Override public void afterPropertiesSet() throws Exception { final JmsUriConfigurator cfg = JmsUriConfigurator.create(endpoint); if (cfg == null) { return; } final EndpointImpl ei = (EndpointImpl) endpoint; CallContext.setupEndpoint(ei); cfg.setPresetJmsAddress(ei.getAddress()); ei.setAddress(cfg.createJmsAddress()); if (publishEndpoint) { ei.publish(); } } }