This is an automated email from the ASF dual-hosted git repository. jgallimore pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomee-chatterbox.git
commit 0450a3382c4418e8cd320ae8169d78171b00198e Author: Jonathan Gallimore <j...@jrg.me.uk> AuthorDate: Thu Jun 10 17:59:46 2021 +0100 Basic adapter working end-to-end. Some more fine tuning needed. --- .../nats/adapter/NATSResourceAdapter.java | 21 ++++++++++++++------- .../tomee/chatterbox/nats/adapter/NATSTest.java | 22 ---------------------- .../src/main/java/org/superbiz/EchoBean.java | 2 -- 3 files changed, 14 insertions(+), 31 deletions(-) diff --git a/chatterbox-nats/chatterbox-nats-impl/src/main/java/org/apache/tomee/chatterbox/nats/adapter/NATSResourceAdapter.java b/chatterbox-nats/chatterbox-nats-impl/src/main/java/org/apache/tomee/chatterbox/nats/adapter/NATSResourceAdapter.java index fdea9a8..cfbbf41 100644 --- a/chatterbox-nats/chatterbox-nats-impl/src/main/java/org/apache/tomee/chatterbox/nats/adapter/NATSResourceAdapter.java +++ b/chatterbox-nats/chatterbox-nats-impl/src/main/java/org/apache/tomee/chatterbox/nats/adapter/NATSResourceAdapter.java @@ -73,7 +73,7 @@ public class NATSResourceAdapter implements ResourceAdapter { try { cf = new StreamingConnectionFactory(new Options.Builder().natsUrl(baseAddress) - .clusterId("cluster-id").clientId("yourclientid").build()); + .clusterId("yourclientid").clientId("anythingyoulike").build()); connection = cf.createConnection(); } catch (Throwable t) { @@ -159,14 +159,21 @@ public class NATSResourceAdapter implements ResourceAdapter { try { messageEndpoint.beforeDelivery(ONMESSAGE); - final NATSMessage message = (NATSMessage) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{InboundListener.class}, new InvocationHandler() { - @Override - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - return method.invoke(msg, args); - } - }); + 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(); } diff --git a/chatterbox-nats/chatterbox-nats-impl/src/test/java/org/apache/tomee/chatterbox/nats/adapter/NATSTest.java b/chatterbox-nats/chatterbox-nats-impl/src/test/java/org/apache/tomee/chatterbox/nats/adapter/NATSTest.java deleted file mode 100644 index d2e4258..0000000 --- a/chatterbox-nats/chatterbox-nats-impl/src/test/java/org/apache/tomee/chatterbox/nats/adapter/NATSTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.apache.tomee.chatterbox.nats.adapter; - -import io.nats.streaming.Options; -import io.nats.streaming.StreamingConnection; -import io.nats.streaming.StreamingConnectionFactory; -import org.junit.Assert; -import org.junit.Test; - -public class NATSTest { - - @Test - public void testShouldConnect() throws Exception { - StreamingConnectionFactory cf = new - StreamingConnectionFactory(new Options.Builder().natsUrl("nats://localhost:4222") - .clusterId("cluster-id").clientId("yourclientid").build()); - - final StreamingConnection connection = cf.createConnection(); - Assert.assertNotNull(connection); - - connection.close(); - } -} diff --git a/chatterbox-nats/chatterbox-nats-sample-war/src/main/java/org/superbiz/EchoBean.java b/chatterbox-nats/chatterbox-nats-sample-war/src/main/java/org/superbiz/EchoBean.java index e66e0ff..12b69fa 100644 --- a/chatterbox-nats/chatterbox-nats-sample-war/src/main/java/org/superbiz/EchoBean.java +++ b/chatterbox-nats/chatterbox-nats-sample-war/src/main/java/org/superbiz/EchoBean.java @@ -34,8 +34,6 @@ public class EchoBean implements InboundListener { try { final String text = new String(message.getData(), StandardCharsets.UTF_8); System.out.println(text); - - message.ack(); } catch (Exception e) { throw new NATSException(e); }