Problem in creating Jboss Messaging .sar deploying
ssjboss Apr 30, 2008 9:04 AMHi,
I am trying to implement jboss messaging listener service.
Content of my .sar file is
----------------------------------
jar -tf message_listener_service.sar
-------------------------------------------
META-INF/ META-INF/MANIFEST.MF src/ src/service/ META-INF/jboss-service.xml commons-io-1.2.jar commons-logging-1.1.jar javassist.jar jboss-aop-jdk50.jar jboss-common.jar jboss-j2ee.jar jboss-jmx.jar jboss-messaging-client.jar jboss-messaging.jar jboss-remoting.jar jboss-system.jar jboss-xml-binding.jar jbossall-client.jar log4j.jar src/service/Listener.class trove.jar------------------------
Content of -> META-INF/jboss-service.xml is
------------------
<server> <mbean code="src.service.Listener" name="service.directory.monitor:src.service=Listener"> </mbean> <server>
----------------
Listener code
---------------
package src.service; /* Use source code downloads, example commands, and any other techniques at your own risk. No warranty is provided. */ import java.util.Properties; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; import javax.jms.Topic; import javax.jms.TopicConnection; import javax.jms.TopicConnectionFactory; import javax.jms.TopicSession; import javax.jms.TopicSubscriber; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; public class Listener implements MessageListener { String url_; String name_; TopicConnection conn = null; TopicSession session = null; Topic topic = null; public Listener(String url, String name) { super(); url_ = url; name_ = name; try { this.initializeListener(); } catch (Exception e) { System.out.println("Error creating listener: " + e); e.printStackTrace(); } } public void onMessage(Message msg) { TextMessage tm = (TextMessage) msg; try { System.out.println("Incoming message: " + tm.getText()); } catch (Exception e) { e.printStackTrace(); } } private void initializeListener() throws JMSException, NamingException { Properties props = new Properties(); props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory"); props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming"); props.setProperty("java.naming.provider.url", url_); Context context = new InitialContext(props); System.out.println("performing lookup..."); Object tmp = context.lookup("MyExampleConnectionFactory"); System.out.println("lookup completed, making topic"); TopicConnectionFactory tcf = (TopicConnectionFactory) tmp; conn = tcf.createTopicConnection(); topic = (Topic) context.lookup(name_); session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE); conn.start(); TopicSubscriber recv = session.createSubscriber(topic); recv.setMessageListener(this); } public void disconnect() throws JMSException { if(conn != null) { conn.stop(); } if(session != null) { session.close(); } if(conn != null) { conn.close(); } } public static void main(String args[]) { System.out.println("Starting JMS Example Listener"); System.out.println("Program will be active for 1 minute."); //change these values to your situtation: Listener listener = new Listener("localhost:1099", "topic/myTopic"); //leave it open for 2 minutes: try { Thread.sleep(97000); } catch(Exception e) { System.out.println("Error sleeping: " + e); e.printStackTrace(); } try { System.out.println("Listener before Diss"); listener.disconnect(); } catch(Exception e) { System.out.println("Error terminating listener JMS objects: " + e); e.printStackTrace(); } System.out.println("Done listening"); } }
-------------
I started server as: run -c <my_config_name>
I am getting fallowing error when i placed message_listener_service.sar in - C:\myjboss-4.2.2\jboss-4.2.2.GA\server\messaging\deploy
17:55:17,015 ERROR [MainDeployer] Could not create deployment: file:/C:/myjboss- 4.2.2/jboss-4.2.2.GA/server/messaging/deploy/message_listener_service.sar org.jboss.deployment.DeploymentException: src.service.Listener.<init>(); - neste d throwable: (java.lang.NoSuchMethodException: src.service.Listener.<init>()) at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java :196) at org.jboss.system.ServiceController.install(ServiceController.java:226 ) at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch er.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker. java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy4.install(Unknown Source) at org.jboss.deployment.SARDeployer.create(SARDeployer.java:249) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch er.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept or.java:133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM BeanOperationInterceptor.java:142) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker. java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy9.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen tScanner.java:421) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS canner.java:634) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. doScan(AbstractDeploymentScanner.java:263) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. loop(AbstractDeploymentScanner.java:274) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. run(AbstractDeploymentScanner.java:225) Caused by: java.lang.NoSuchMethodException: src.service.Listener.<init>() at java.lang.Class.getConstructor0(Class.java:2678) at java.lang.Class.getConstructor(Class.java:1629) at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java: 1232) at org.jboss.mx.server.MBeanServerImpl.instantiate(MBeanServerImpl.java: 286) at org.jboss.mx.server.MBeanServerImpl.createMBean(MBeanServerImpl.java: 344) at org.jboss.system.ServiceCreator.install(ServiceCreator.java:157) at org.jboss.system.ServiceConfigurator.internalInstall(ServiceConfigura tor.java:451) at org.jboss.system.ServiceConfigurator.install(ServiceConfigurator.java :171) ... 33 more
I tried in google also, it is urgent, please help me , I have to add any jar files, need to change any .xml files (or) I have to change my listener ?