programmera.net -> ejb -> normal för utskrift | info@programmera.net |
HelloServerProject
1. Skapa projektet HelloServerProject 2. Skapa klassen HelloStatelessBean 3. Implementera bönans metoder 4. Skapa ejb-jar.xml 5. Skapa jboss.xml 6. Skapa en JAR 7. Sjösätt JARen |
1. Skapa projektet HelloServerProject
Nu när vi är klara med projektet "HelloInterfaceProject" är det dags att skapa "HelloServerProject". Vi öppnar Eclipse och skapar projektet. I detta projekt ska vi inkludera vårt nyss skapade "HelloInterfaceProject", se nedan:
Glöm inte att addera "j2ee.jar" från "SUN J2EE SDK", se nedan:
2. Skapa klassen HelloStatelessBean
Nu skapar vi själva bönan. Vi döper den till "HelloStatelessBean".
Se bild:
Nu ser det ut såhär:
Klicka "Finish"..
3. Implementera bönans metoder
Vi implementerar de nödvändiga metoderna för "HelloStatelessBean". De metoder vi måste uppdatera är:
se nedan:
/*
* Created on 2006-feb-03
*/
package net.programmera.hello.ejb_server;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
/**
* @author Olle
*/
public class HelloStatelessBean implements SessionBean {
// Store the Context in a specific variable
private SessionContext context = null;
// ------ Mehtods from HelloStateless --------
/*
* This method corresponds to hello() in HelloStateless interface.
* This is the only business method in this class.
*/
public String hello(String name){
return "Hello "+name+", from www.programmera.net!";
}
// ------ Mehtods from HelloStatelessHome --------
/*
* This metod corresponds to create() in the HelloStatelessHome interface.
* This method has to be implemented.
*/
public void ejbCreate(){
// Do nothing
}
// ------ Mehtods from SessionBean --------
/* (non-Javadoc)
* @see javax.ejb.SessionBean#ejbActivate()
*/
public void ejbActivate() throws EJBException {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see javax.ejb.SessionBean#ejbPassivate()
*/
public void ejbPassivate() throws EJBException {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see javax.ejb.SessionBean#ejbRemove()
*/
public void ejbRemove() throws EJBException {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)
*/
public void setSessionContext(SessionContext arg0) throws EJBException {
this.context = arg0;
}
}
4. Skapa ejb-jar.xml
Vi skapar en mapp genom att högerklicka på projektet och välja New - Folder, döp mappen "META-INF":
Högerklicka på mappen META-INF och välj New - File, döp filen till "ejb-jar.xml":
Skriv följande:
<?xml version="1.0"?>
<!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>
<session>
<description>Hello world ejb, used for testing</description>
<display-name>HelloStatelessDisplayName</display-name>
<ejb-name>HelloStateless</ejb-name>
<ejb-class>net.programmera.hello.ejb_server.HelloStatelessBean</ejb-class>
<home>net.programmera.hello.ejb_interface.HelloStatelessHome</home>
<remote>net.programmera.hello.ejb_interface.HelloStateless</remote>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
5. Skapa jboss.xml
För att JBoss ska hitta vår böna behöver vi en extra fil "jboss.xml". Denna fil ligger utanför EJB-specen och kommer alltså se annorlunda ut om du väljer att sjösätta på någon annan typ av Java EE server. För att skapa filen, högerklicka på mappen META-INF och välj New - File, döp filen till "jboss.xml". Skriv följande:
<?xml version="1.0"?>
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
<jboss>
<enterprise-beans>
<session>
<ejb-name>HelloStateless</ejb-name>
<jndi-name>ejb/HelloStateless</jndi-name>
</session>
</enterprise-beans>
</jboss>
6. Skapa en JAR
Nu är vi klara med utvecklingen av bönan och det är dags att skapa en JAR som vi sedan ska sjösätta i EJB-behållaren. Högerklicka på projektet och välj export. Välj "JAR file" och klicka Next, se bilden:
Klicka i så att "HelloInterfaceProject" kommer med. Döp filen till "HelloServer.jar" och klicka Next, se bilden:
Vi vill inte skapa en JAR om det finns kompileringsfel, så klicka bort Export class with compile errors. Spara en beskrivning av hur JAR-filen byggdes i en fil "BuildDesc.jardesc" och klicka Next, se bilden:
Vi behöver ingen "main()"-fil till denna JAR, så klicka bara Finish:
Kontrollera att filen C:/workspace/HelloServer.jar existerar. I så fall är det klart.
7. Sjösätt JARen
Nu är det dags att sjösätta "HelloServer.jar" i JBoss. JBoss har "hot deploy" vilket innebär att man kan sjösätta under tiden servern kör.
Om allt går bra så får vi följande utskrift:
Du kan surfa in på URLen
http://localhost:8080/jmx-console/ för att se om din böna har kommit upp, se bilden:
15:54:20,218 INFO [EjbModule] Deploying HelloStateless
15:54:20,500 INFO [EJBDeployer] Deployed: file:/D:/Program/JBoss402/jboss-4.0.2
/server/default/deploy/HelloServer.jar