[JNDI/Naming/Network] - configuring remote topic host and port
by sridummy
Hi
Im using Jboss4.0.3SP1, Im very new to JMS&MDB's. I have written a MDB and a client which subscribes the msgs. I have to connect to the remote Topic which is in Seebeyond very old version and didnt have jndi.
The following is the code which i implemented for connecting to remote topic and ejb-jar.xml, jboss.xml
Im unable to listen to the messages after deploying the jar file.
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.*;
import javax.ejb.*;
import javax.jms.TopicSession;
import javax.jms.TextMessage;
import com.seebeyond.jms.client.STCTopicConnectionFactory;
import com.seebeyond.jms.message.STCBytesMessage;
import com.seebeyond.jms.message.STCTextMessage;
/**
* @ejb.bean name="MyMBD1"
* display-name="Name for MyMBD1"
* description="Description for MyMBD1"
* destination-type="javax.jms.Topic"
* acknowledge-mode="Auto-acknowledge"
*/
public class MyMBD1 implements MessageDrivenBean, MessageListener {
MessageDrivenContext context = null;
String topicName = "etXMLShipmentOrder";
TopicConnectionFactory tcf = null;
TopicConnection topicConnection = null;
TopicSession topicSession = null;
Topic topic = null;
TopicSubscriber topicSubscriber = null;
STCBytesMessage message = null;
InputStreamReader inputStreamReader = null;
char answer = '\0';
String hostName = "egludev07";
int port = 24820;
public MyMBD1() {
super();
System.out.println("Topic name is " + topicName);
// TODO Auto-generated constructor stub
}
public void setMessageDrivenContext(MessageDrivenContext context)
throws EJBException {
this.context = context;
System.out.println("Insdie setMessageDrivenContext ");
}
public void ejbRemove() throws EJBException {
System.out.println("ejbRemove ");
context = null;
if (topicConnection != null) {
try {
System.out.println("... Closing connection ...");
topicSession.commit();
topicConnection.close();
}catch(JMSException e){
System.out.println("Inside ejbRemove catch block ");
e.printStackTrace();
}
}
}
public void onMessage(Message message) {
System.out.println("onMessage");
STCTextMessage msg = null;
//final int MAX_MESSAGE_SIZE = 60;
try {
if (message instanceof TextMessage) {
msg = (STCTextMessage) message;
System.out.println(
"... Reading message: " + msg.getText());
} else {
System.out.println(
"Message of wrong type: "
+ message.getClass().getName());
}
topicSession.commit();
} catch (Exception e) {
System.out.println(
" JMSException in onMessage(): " + e.toString());
} catch (Throwable te) {
System.out.println(
"Exception in onMessage():" + te.getMessage());
}
}
/**
* Default create method
*
* @throws CreateException
*/
public void ejbCreate() {
System.out.println("Inside ejbCreate ");
try {
tcf = new STCTopicConnectionFactory(hostName, port);
topicConnection = tcf.createTopicConnection();
topicConnection.start();
topicSession =
topicConnection.createTopicSession(
true,
Session.AUTO_ACKNOWLEDGE);
topic = topicSession.createTopic(topicName);
topicSubscriber = topicSession.createDurableSubscriber(topic,"EAI_TEST_DURABLE");
} catch (Exception e){
System.out.println("Inside ejbCreateException Block "+e.getMessage());
e.getStackTrace();
}
}
}
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar >
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB1</ejb-name>
<ejb-class>com.eagle.mdb.MyMBD1</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Topic</destination-type>
</message-driven-destination>
<resource-ref>
<res-ref-name>jms/JmsXA</res-ref-name>
<res-type>javax.jms.TopicConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</message-driven>
</enterprise-beans>
</ejb-jar>
jboss.xml
<?xml version="1.0" encoding="UTF-8"?>
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB1</ejb-name>
<destination-jndi-name>topic/testTopic</destination-jndi-name>
<resource-ref>
<res-ref-name>jms/JmsXA</res-ref-name>
<jndi-name>TopicConnectionFactory</jndi-name>
</resource-ref>
</message-driven>
</enterprise-beans>
For my senario, pls guide me. Its very urgent.
Thanks in Advance
Sri
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977959#3977959
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3977959
19 years, 7 months
[Messaging, JMS & JBossMQ] - configuring remote topic host and port
by sridummy
Hi
Im using Jboss4.0.3SP1, Im very new to JMS&MDB's. I have written a MDB and a client which subscribes the msgs. I have to connect to the remote Topic which is in Seebeyond very old version and didnt have jndi.
The following is the code which i implemented for connecting to remote topic and ejb-jar.xml, jboss.xml
Im unable to listen to the messages after deploying the jar file.
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.*;
import javax.ejb.*;
import javax.jms.TopicSession;
import javax.jms.TextMessage;
import com.seebeyond.jms.client.STCTopicConnectionFactory;
import com.seebeyond.jms.message.STCBytesMessage;
import com.seebeyond.jms.message.STCTextMessage;
/**
* @ejb.bean name="MyMBD1"
* display-name="Name for MyMBD1"
* description="Description for MyMBD1"
* destination-type="javax.jms.Topic"
* acknowledge-mode="Auto-acknowledge"
*/
public class MyMBD1 implements MessageDrivenBean, MessageListener {
MessageDrivenContext context = null;
String topicName = "etXMLShipmentOrder";
TopicConnectionFactory tcf = null;
TopicConnection topicConnection = null;
TopicSession topicSession = null;
Topic topic = null;
TopicSubscriber topicSubscriber = null;
STCBytesMessage message = null;
InputStreamReader inputStreamReader = null;
char answer = '\0';
String hostName = "egludev07";
int port = 24820;
public MyMBD1() {
super();
System.out.println("Topic name is " + topicName);
// TODO Auto-generated constructor stub
}
public void setMessageDrivenContext(MessageDrivenContext context)
throws EJBException {
this.context = context;
System.out.println("Insdie setMessageDrivenContext ");
}
public void ejbRemove() throws EJBException {
System.out.println("ejbRemove ");
context = null;
if (topicConnection != null) {
try {
System.out.println("... Closing connection ...");
topicSession.commit();
topicConnection.close();
}catch(JMSException e){
System.out.println("Inside ejbRemove catch block ");
e.printStackTrace();
}
}
}
public void onMessage(Message message) {
System.out.println("onMessage");
STCTextMessage msg = null;
//final int MAX_MESSAGE_SIZE = 60;
try {
if (message instanceof TextMessage) {
msg = (STCTextMessage) message;
System.out.println(
"... Reading message: " + msg.getText());
} else {
System.out.println(
"Message of wrong type: "
+ message.getClass().getName());
}
topicSession.commit();
} catch (Exception e) {
System.out.println(
" JMSException in onMessage(): " + e.toString());
} catch (Throwable te) {
System.out.println(
"Exception in onMessage():" + te.getMessage());
}
}
/**
* Default create method
*
* @throws CreateException
*/
public void ejbCreate() {
System.out.println("Inside ejbCreate ");
try {
tcf = new STCTopicConnectionFactory(hostName, port);
topicConnection = tcf.createTopicConnection();
topicConnection.start();
topicSession =
topicConnection.createTopicSession(
true,
Session.AUTO_ACKNOWLEDGE);
topic = topicSession.createTopic(topicName);
topicSubscriber = topicSession.createDurableSubscriber(topic,"EAI_TEST_DURABLE");
} catch (Exception e){
System.out.println("Inside ejbCreateException Block "+e.getMessage());
e.getStackTrace();
}
}
}
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar >
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB1</ejb-name>
<ejb-class>com.eagle.mdb.MyMBD1</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Topic</destination-type>
</message-driven-destination>
<resource-ref>
<res-ref-name>jms/JmsXA</res-ref-name>
<res-type>javax.jms.TopicConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</message-driven>
</enterprise-beans>
</ejb-jar>
jboss.xml
<?xml version="1.0" encoding="UTF-8"?>
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB1</ejb-name>
<destination-jndi-name>topic/testTopic</destination-jndi-name>
<resource-ref>
<res-ref-name>jms/JmsXA</res-ref-name>
<jndi-name>TopicConnectionFactory</jndi-name>
</resource-ref>
</message-driven>
</enterprise-beans>
For my senario, pls guide me. Its very urgent.
Thanks in Advance
Sri
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977958#3977958
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3977958
19 years, 7 months
[EJB 3.0] - persistence unit not avaiable to session bean
by leandro@inf.ufsc.br
Hi all,
I'm using JBoss AS 4..0.4.GA and EJB3 RC9 and have serveral applications running ok.
For one new application, my session bean must access a persistence unit that was deployed in another jar file. This is not working.
The jar file with entities was deployed with no problems.
The session bean code is:
@Stateless
public class ServicoX90Bean implements ... {
@PersistenceConctext(unitName="sigrad-PU")
EntityManager em;
...
}
The log is:
14:42:55,149 INFO [EARDeployer] Started J2EE application: file:/home/leandro/apps/jboss-4.0.4.GA/server/default/deploy/x90.ear
14:42:55,151 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
--- MBeans waiting for other MBeans ---
ObjectName: jboss.j2ee:ear=x90.ear,jar=sigrad-entidades.jar,name=GerenciadorDeEntidadesBean,service=EJB3
State: NOTYETINSTALLED
I Depend On:
persistence.units:ear=x90.ear,jar=sigrad-entidades.jar,unitName=sigrad-PU
ObjectName: jboss.j2ee:ear=x90.ear,jar=x90-ejb.jar,name=ServicoX90Bean,service=EJB3
State: NOTYETINSTALLED
I Depend On:
persistence.units:unitName=sigrad-PU
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: persistence.units:ear=x90.ear,jar=sigrad-entidades.jar,unitName=sigrad-PU
State: NOTYETINSTALLED
Depends On Me:
jboss.j2ee:ear=x90.ear,jar=sigrad-entidades.jar,name=GerenciadorDeEntidadesBean,service=EJB3
ObjectName: persistence.units:unitName=sigrad-PU
State: NOTYETINSTALLED
Depends On Me:
jboss.j2ee:ear=x90.ear,jar=x90-ejb.jar,name=ServicoX90Bean,service=EJB3
Thanks for any help,
Leandro
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977950#3977950
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3977950
19 years, 7 months