List of usage examples for javax.resource.spi.endpoint MessageEndpointFactory createEndpoint
MessageEndpoint createEndpoint(XAResource xaResource) throws UnavailableException;
From source file:me.jtalk.socketconnector.SocketResourceAdapter.java
private <T> void sendEndpoint(MessageEndpointFactory factory, Method target, T message) { try {/* w w w . j a v a2 s. c om*/ MessageEndpoint endpoint = factory.createEndpoint(null); endpoint.beforeDelivery(target); try { log.trace("Sending endpoint message to ''{}'': prepare", target.getName()); if (message == null) { target.invoke(endpoint); } else { target.invoke(endpoint, message); } log.trace("Sending endpoint message to ''{}'': sent", target.getName()); } catch (IllegalAccessException | InvocationTargetException e) { log.error("Exception on message endpoint invocation", e); } endpoint.afterDelivery(); endpoint.release(); } catch (UnavailableException e) { log.error("Message endpoint is unavailable", e); } catch (ResourceException | NoSuchMethodException e) { log.error("Exception on message endpoint processing", e); } }
From source file:org.tomitribe.chatterbox.slack.adapter.SlackResourceAdapter.java
public void endpointActivation(final MessageEndpointFactory messageEndpointFactory, final ActivationSpec activationSpec) throws ResourceException { final SlackActivationSpec slackActivationSpec = (SlackActivationSpec) activationSpec; workManager.scheduleWork(new Work() { @Override/*from w w w. j av a 2 s . c o m*/ public void run() { try { final MessageEndpoint messageEndpoint = messageEndpointFactory.createEndpoint(null); final EndpointTarget target = new EndpointTarget(messageEndpoint); final Class<?> endpointClass = slackActivationSpec.getBeanClass() != null ? slackActivationSpec.getBeanClass() : messageEndpointFactory.getEndpointClass(); target.commands.addAll(Commands.get(endpointClass, target, null).values()); for (Cmd cmd : target.commands) { main.add(cmd); } targets.put(slackActivationSpec, target); } catch (Exception e) { e.printStackTrace(); } } @Override public void release() { } }); }