the primer is very much available: http://www.znerd.demon.nl/orion-primer/

Jeroen T. Wenting
[EMAIL PROTECTED]

Murphy was wrong, things that can't go wrong will anyway

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Runar Svendsen
> Sent: Thursday, August 24, 2000 10:59
> To: Orion-Interest
> Subject: RE: How to: Creating and Deploying Entity Beans using cmp
>
>
> I don't know why, but I actually saved a copy of the orion primer
> last time
> I was there :-)
>
> I have packaged it in a zip file (for WinNT) along with all the source and
> build files, and it is available for download at
>
> http://www.exense.com/sw/orion-primer/orion-primer.zip
>
> Runar.
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Darren Gibbons
> Sent: 24. august 2000 04:00
> To: Orion-Interest
> Subject: RE: How to: Creating and Deploying Entity Beans using cmp
>
>
> It would appear that the orion primer is no longer available.
> Does know if
> the site has moved, or if anyone has a backup copy of this page?
>
> Darren.
>
> --
> Darren Gibbons                                    [EMAIL PROTECTED]
> OpenRoad Communications                               ph: 604.681.0516
> Internet Application Development                     fax: 604.681.0916
> Vancouver, B.C.                                 http://www.openroad.ca
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]]On Behalf Of Rick Bergami
> > Sent: August 23, 2000 2:33 PM
> > To: Orion-Interest
> > Subject: How to: Creating and Deploying Entity Beans using cmp
> >
> >
> > This is a very simple example and I'm sure can use alot of work:
> >
> > Deploying Entity Beans:
> >
> > First I would follow the orion primer located at
> > http://www.zdnerd.demon.nl/orion-primer and set up a session bean.  Most
> > of the instructions following assume you have this application setup
> > with the same directory structure.  We going to create a bean with 1
> > field: long id (primary key) .
> >
> > 1) Create your bean (using the ejbmaker tool in the orion directory will
> > do most of the work for you.  Use java -jar orion.jar  in the orion
> > directory to start it).  Let's call them TestEnt (Remote interface),
> > TestEntEJB (Bean), TestEntHome (Home interface), TestEntPK (Primary
> > key).  The source files should be in your
> > \orion-primer\src\java\hello\ejb\ (assuming they are in a package
> > hello.ejb.) directory following the orion-primer tutorial.  We will make
> > a servlet called TestEntServlet in \orion-primer\src\java\hello\web\
> > (assuming they are in a package hello.web.) to create the TestEnt
> > instance.
> >
> > Below is the source code for all five classes:
> >
> > TestEnt.class (remote interface):
> >
> > import java.rmi.RemoteException;
> > import javax.ejb.*;
> >
> > public interface TestEnt extends EJBObject
> > {
> >  public long getId() throws RemoteException;
> > }
> >
> > TestEntBean.class (Bean):
> >
> > package hello.ejb;
> >
> > import java.rmi.*;
> > import javax.ejb.*;
> >
> > public class TestEntBean implements EntityBean {
> >   private EntityContext entityContext;
> >   public long id;
> >
> >
> >   public void ejbActivate() throws RemoteException {
> >   }
> >
> >   public void ejbLoad() throws RemoteException {
> >   }
> >
> >   public void ejbPassivate() throws RemoteException {
> >   }
> >
> >   public void ejbRemove() throws RemoteException, RemoveException {
> >   }
> >
> >   public void ejbStore() throws RemoteException {
> >   }
> >
> >   public void setEntityContext(EntityContext context) throws
> > RemoteException {
> >     entityContext = context;
> >   }
> >
> >   public void unsetEntityContext() throws RemoteException {
> >     entityContext = null;
> >   }
> >
> >   public TestEntPK ejbCreate(long id) throws CreateException  {
> >   this.id = id;
> >   return null; // Return null when using CMP
> >  }
> >
> >  public void ejbPostCreate(long id)  {
> >  }
> >
> >   public void setId(long newId) {
> >     id = newId;
> >   }
> >
> >   public long getId() {
> >     return id;
> >   }
> > }
> >
> >
> > TestEntHome.class (Home interface):
> >
> > import javax.ejb.*;
> > import java.rmi.RemoteException;
> >
> > public interface TestEntHome extends EJBHome
> > {
> >  public TestEnt create(long id) throws CreateException, RemoteException;
> >
> >  public TestEnt findByPrimaryKey(long key) throws RemoteException,
> > FinderException;
> > }
> >
> > TestEntPK.class (Primary Key):
> >
> > package hello.ejb;
> >
> > public class TestEntPK {
> >
> >   public TestEntPK() {
> >   }
> >
> >   public long id;
> > }
> >
> > TestEntServlet.class (Servlet):
> >
> > package hello.web;
> >
> > import java.io.IOException;
> > import java.util.Date;
> > import java.util.Properties;
> > import javax.naming.*;
> > import javax.servlet.*;
> > import javax.servlet.http.*;
> > import javax.rmi.PortableRemoteObject;
> > import hello.ejb.TestEnt;
> > import hello.ejb.TestEntHome;
> >
> > public class TestEntServlet extends HttpServlet {
> >
> >    // constructor
> >    public TestEntServlet() {
> >       super();
> >       trace("<init>");
> >    }
> >
> >    // A reference to the remote `Hello' object
> >    protected TestEnt _testEnt;
> >
> >    // Initializes this servlet
> >    public void init(ServletConfig config) throws ServletException {
> >       super.init(config);
> >       trace("init");
> >
> >
> >    }
> >
> >    // Handles the HTTP GET request
> >    public void doGet(HttpServletRequest request, HttpServletResponse
> > response)
> >    throws ServletException, IOException {
> >       trace("doGet");
> >
> >       // Get the initial JNDI context using our settings
> >       Context context;
> >       try {
> >          context = new InitialContext();
> >       }
> >       catch (Throwable exception) {
> >          throw new ServletException(
> >             "Unable to get initial JNDI context: " +
> > exception.toString());
> >       }
> >
> >       // Get a reference to the TestEnt home interface
> >       TestEntHome testEntHome;
> >       try {
> >          Object boundObject =
> > context.lookup("java:comp/env/ejb/TestEntHome");
> >          testEntHome = (TestEntHome)
> > PortableRemoteObject.narrow(boundObject,TestEntHome.class);
> >       }
> >       catch (Throwable exception) {
> >          exception.printStackTrace();
> >          throw new ServletException(
> >             "Unable to get home interface here: " +
> > exception.toString());
> >       }
> >
> >       ServletOutputStream out = response.getOutputStream();
> >
> >       response.setContentType("text/html");
> >
> >       // Get a reference to a TestEnt instance
> >       System.out.println("about to create TestEnt bean");
> >       try {
> >          _testEnt =
> > testEntHome.create(Long.parseLong(request.getParameter("ID")));
> >          System.out.println("created testEnt bean");
> >          out.println("<HTML><BODY bgcolor=\"#FFFFFF\">");
> >          out.println("Time stamp: " + new Date().toString());
> >          out.println("<BR>Created bean (row) with the id of: " +
> > request.getParameter("ID"));
> >          out.println("</BODY>");
> >          out.println("</HTML>");
> >       }
> >       catch (Throwable exception) {
> >          throw new ServletException(
> >             "Unable to create TestEnt instance: " +
> > exception.toString());
> >       }
> >
> >
> >
> >
> >
> >
> >    }
> >
> >    // Displays a trace message to System.out
> >    private void trace(String methodName) {
> >       System.out.print(methodName);
> >       System.out.println("() called");
> >    }
> >
> > }
> >
> >
> >
> > 2) Modify your \orion-primer\src\xml\ejb\ejb-jar.xml to look like the
> > following:
> >
> > <?xml version="1.0"?>
> > <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
> > JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
> > <ejb-jar>
> >           <enterprise-beans>
> >         <entity>
> >              <ejb-name>hello.ejb.TestEnt</ejb-name>
> >              <home>hello.ejb.TestEntHome</home>
> >              <remote>hello.ejb.TestEnt</remote>
> >              <ejb-class>hello.ejb.TestEntBean</ejb-class>
> >              <persistence-type>Container</persistence-type>
> >              <prim-key-class>hello.ejb.TestEntPK</prim-key-class>
> >              <reentrant>False</reentrant>
> >              <cmp-field>
> >                <field-name>id</field-name>
> >              </cmp-field>
> >           </entity>
> >           <session>
> >             <description></description>
> >             <display-name>hello.ejb.Hello</display-name>
> >             <ejb-name>hello.ejb.Hello</ejb-name>
> >             <home>hello.ejb.HelloHome</home>
> >             <remote>hello.ejb.Hello</remote>
> >             <ejb-class>hello.ejb.HelloBean</ejb-class>
> >             <session-type>Stateless</session-type>
> >          </session>
> >      </enterprise-beans>
> >       <assembly-descriptor>
> >          <container-transaction>
> >            <method>
> >              <ejb-name>TestEntBean</ejb-name>
> >              <method-name>*</method-name>
> >            </method>
> >            <trans-attribute>Required</trans-attribute>
> >          </container-transaction>
> >          <security-role>
> >             <description>Users</description>
> >             <role-name>users</role-name>
> >          </security-role>
> >          <method-permission>
> >             <description>Restricted</description>
> >             <role-name>users</role-name>
> >             <method>
> >                <ejb-name>hello.Hello</ejb-name>
> >                <method-name>*</method-name>
> >             </method>
> >          </method-permission>
> >       </assembly-descriptor>
> >
> > </ejb-jar>
> >
> >
> > 3) Modify your \orion-primer\src\xml\web\web.xml to look like the
> > following:
> >
> > <?xml version="1.0"?>
> > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
> > 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
> >
> > <web-app>
> >    <display-name>Orion Primer Web Application</display-name>
> >    <servlet>
> >       <servlet-name>hello.web.HelloServlet</servlet-name>
> >       <description>Servlet that calls the Hello bean</description>
> >       <servlet-class>hello.web.HelloServlet</servlet-class>
> >    </servlet>
> >    <servlet>
> >       <servlet-name>hello.web.TestEntServlet</servlet-name>
> >       <description>Servlet that calls the Test bean</description>
> >       <servlet-class>hello.web.TestEntServlet</servlet-class>
> >    </servlet>
> >
> >
> >    <ejb-ref>
> >       <ejb-ref-name>ejb/HelloHome</ejb-ref-name>
> >       <ejb-ref-type>Session</ejb-ref-type>
> >       <home>hello.ejb.HelloHome</home>
> >       <remote>hello.ejb.Hello</remote>
> >    </ejb-ref>
> >    <ejb-ref>
> >       <ejb-ref-name>ejb/TestEntHome</ejb-ref-name>
> >       <ejb-ref-type>Entity</ejb-ref-type>
> >       <home>hello.ejb.TestEntHome</home>
> >       <remote>hello.ejb.TestEnt</remote>
> >     </ejb-ref>
> >
> >
> >    <servlet-mapping>
> >       <servlet-name>hello.web.HelloServlet</servlet-name>
> >       <url-pattern>/</url-pattern>
> >    </servlet-mapping>
> >    <servlet-mapping>
> >       <servlet-name>hello.web.TestEntServlet</servlet-name>
> >       <url-pattern>/</url-pattern>
> >    </servlet-mapping>
> > </web-app>
> >
> > 4) Run ant from the orion-primer directory.
> > 5) Start up orion server from the \orion\ directory (java -jar
> > orion.jar).  This should deploy the application and create a directory
> > directory/file
> > \orion\application-deployments\orion-primer\orion-primer-ejb.jar\o
> > rion-ejb-jar.xml.
> > This is the file you modify to map the bean to the database.  It should
> > look like:
> >
> > <?xml version="1.0"?>
> > <!DOCTYPE orion-ejb-jar PUBLIC "-//Evermind//DTD Enterprise JavaBeans
> > 1.1 runtime//EN" "http://www.orionserver.com/dtds/orion-ejb-jar.dtd">
> >
> > <orion-ejb-jar deployment-version="1.0.3" deployment-time="e1298911c3">
> >  <enterprise-beans>
> >   <entity-deployment name="hello.ejb.TestEnt"
> > location="hello.ejb.TestEnt" wrapper="EntityHomeWrapper1"
> > table="TestEnt" data-source="jdbc/DefaultEJBDS">
> >    <primkey-mapping>
> >     <cmp-field-mapping>
> >      <fields>
> >       <cmp-field-mapping name="id" persistence-name="id" />
> >      </fields>
> >     </cmp-field-mapping>
> >    </primkey-mapping>
> >   </entity-deployment>
> >   <session-deployment name="hello.ejb.Hello" location="hello.ejb.Hello"
> > wrapper="SessionHomeWrapper3" timeout="1200"
> > persistence-filename="hello.ejb.Hello" />
> >  </enterprise-beans>
> >  <assembly-descriptor>
> >   <security-role-mapping name="users">
> >   </security-role-mapping>
> >   <default-method-access>
> >    <security-role-mapping impliesAll="true" />
> >   </default-method-access>
> >  </assembly-descriptor>
> > </orion-ejb-jar>
> >
> > 6) In your browser type: http://localhost/servlet/TestEntServlet?ID=1.
> > This should create a row in the TestEnt table (specified in the xml file
> > above) with an id of 1.
> >
> >
> >
> >
>
>
>


Reply via email to