Skip to main content

EJB with jboss 4

Running EJB (EJB 2) with jboss (jboss 4) requires some setup. I am trying to explain the steps one needs to for EJB to work with jboss .
File 1 :- MyTestSession.java
package ejbs.sessionBeans;

import java.rmi.RemoteException;

import javax.ejb.EJBObject;

public interface MyTestSession extends EJBObject{
 public String sayHello() throws RemoteException;
}


File 2 :- MyTestSessionHome.java
package ejbs.sessionBeans;

import java.rmi.RemoteException;
import java.sql.SQLException;

import javax.ejb.EJBException;
import javax.naming.NamingException;


public interface MyTestSessionHome extends javax.ejb.EJBHome{
 public MyTestSession create() throws javax.ejb.CreateException,EJBException, RemoteException, NamingException;
 
} 


File 3 :- MyTestSessionBean.java
package ejbs.sessionBeans;

import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.EJBHome;
import javax.ejb.EJBObject;
import javax.ejb.Handle;
import javax.ejb.RemoveException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class MyTestSessionBean implements SessionBean {

 @Override
 public void ejbActivate() throws EJBException, RemoteException {
  System.out.println("In  ejbActivate()");
 }

 @Override
 public void ejbPassivate() throws EJBException, RemoteException {
  System.out.println("In  ejbPassivate()");
 }

 @Override
 public void ejbRemove() throws EJBException, RemoteException {
  System.out.println("In  ejbRemove()");
 }

 @Override
 public void setSessionContext(SessionContext arg0) throws EJBException,
   RemoteException {
  System.out.println("In setSessionContext");
 }
 
 public String sayHello() throws RemoteException{
  return "Alll";  
 }

 public void ejbCreate() throws javax.ejb.CreateException,EJBException, RemoteException, NamingException {
               System.out.println("In ejbCreate()");
  
 }

}

Now we require enter the details of this Session Bean in two XML files . One in the ejb-jar.xml and jboss.xml .
File 4 :- 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>
 <display-name>MyFirstSessionBean</display-name>
 <description>My First Session bean description</description>
 <enterprise-beans>
  <session>
   <display-name>MySessionBean</display-name>
   <ejb-name>ejbs/sessionBeans/MyTestSession</ejb-name>
   <home>ejbs.sessionBeans.MyTestSessionHome</home>
   <remote>ejbs.sessionBeans.MyTestSession</remote>
   <ejb-class>ejbs.sessionBeans.MyTestSessionBean</ejb-class>
   <session-type>Stateless</session-type>
   <transaction-type>Container</transaction-type>
  </session>
 </enterprise-beans>
</ejb-jar>


File 5 :- jboss.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBoss//EN"
"http://www.jboss.org/j2ee/dtd/jboss.dtd">
<jboss>
 <enterprise-beans>
  <session>
   <ejb-name>ejbs/sessionBeans/MyTestSession</ejb-name>
   <jndi-name>ejb/MyTestSession</jndi-name>
  </session>
 </enterprise-beans>
</jboss>

Now in any of your servlet call the following java lines.
  InitialContext ctx = new InitialContext();
  Object objref = ctx.lookup("ejb/MyTestSession");
  MyTestSessionHome myTestSessionHome = (MyTestSessionHome)PortableRemoteObject.narrow(objref,MyTestSessionHome.class);
   MyTestSession myTestSession=  myTestSessionHome.create();
   String receivedString = myTestSession.sayHello();
System.out.println(receivedString);

Syntax Hightlighter test

Comments

Popular posts from this blog

Running PHP by command line on WAMP

There are a few simple steps one can follow to run php scripts by command line. Usually if you write "php" on the DOS prompt it will not recognize the command. In order to run php on command line in windows you have to do the following - Step 1 : Go to your wamp directory:\wamp\bin\php\php5.x.x (directory depends on your version). Copy this path Step 2 : Right click on My Computer and go to properties > Advanced > Environment Variables > System Variables . In that window select "path" click edit button. Go to the end of "Variable Value" and add a semi-colon ";" and after that paste the path copied. Click "Ok" and close. Step 3 : Open a fresh command prompt . Type php. Now it should run.

Difference between SJAX and AJAX

AJAX is Asynchronous Javascript and XML SJAX is Synchronous Javascript and XML What does Asynchronous means ? It means that when a request is sent to the server the statements following (javascript code OTHER than the callback function ) are executed WITHOUT waiting for the server response. So even though if your server is taking a long time for responsing for a request , you are not put on a hold. That's the beauty of AJAX. Synchronous means here exactly the opposite of it. That means you force the browser to wait for the server response. This might be a bit a dangerous step because if the server takes a long time,the browser may appear dead. Your users might have to close the tab or the browser. How to send Synchronous request by jQuery? $.ajax method of jquery supports a lot of options , there is an option called async which is true by default . You can set it to false. You can find it here

Ajax with Jquery

This time I wanted to write something for Jquery. Jquery is a very good Javascript library. It reduces much of your coding time. So here is how you do AJAX with Jquery Step 1 -: Download the latest version of jquery from here. This is Jquery 1.4 minified version. Step 2 -: $.get(url,'',function(data){ alert("Data from ajax is "+data); }); Done !!! Now I will explain it- 1.The "$" is nothing but a shorthand notation for jQuery. 2.Then comes "get" , this can be replaced with post as well, as this is the method by which the http request will be sent to the server. 3.Next is "url". This is the url of the page you are requesting. 4.After url I have the next parameter is left as '' . This parameter is just for adding the parameters (query strings) to the url. It is left to the programmer that he wants to use this parameter or not . You can club your query string in the Url also. 5.Finally we have a ...