public void onMessage()

in chatterbox-nats/chatterbox-nats-impl/src/main/java/org/apache/tomee/chatterbox/nats/adapter/NATSResourceAdapter.java [169:195]


        public void onMessage(final Message msg) {
            try {
                try {
                    messageEndpoint.beforeDelivery(ONMESSAGE);

                    final NATSMessage message = (NATSMessage) Proxy.newProxyInstance(
                            getClass().getClassLoader(),
                            new Class[]{NATSMessage.class},
                            new InvocationHandler() {
                                @Override
                                public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                                    final Method m = Message.class.getMethod(method.getName(), method.getParameterTypes());
                                    return m.invoke(msg, args);
                                }
                            }
                    );

                    ((InboundListener) messageEndpoint).onMessage(message);
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    messageEndpoint.afterDelivery();
                }
            } catch (Throwable t) {
                LOGGER.log(Level.SEVERE, "Error dispatching message from NATS to MDB endpoint", t);
            }
        }