EJB Environment

Not sure if this belongs in this forum, but it seems like a reasonable choice.
My question is involving the environment for WLS 6.1; specifically involving EJBs.
I'm sure this has been discussed before. I did a quick search and had no luck,
however.
During our build process, we compile our EJB classes directly into the class path
("./serverclasses" directory under WLHOME) where the rest of the classes are compiled.
If I'm not mistaken, any client of an EJB is going to require those classes (at
least the remote interface?) in the classpath in order to compile itself.
The problem we have is that when WLS starts, the warnings come up that the bean classes
should not be in the classpath. I could remove them, but that's a little painful.
If I do go to the pain of removing them, do I not have to place the EJB's .jar
file in the classpath prior to starting the server? That seems a little tedious
to have to modify the server's classpath each time I deploy a new EJB. If I don't
have the .jar in the classpath, will clients to the EJB that run in the server work?
Any thoughts you may have as to build process (seperate class path for build versus
server run, etc) would be most appreciated.
Thanks!
Brian

Hi,
I would advise not to use the standard EJB compile/generate scripts(ANT/batch files)
that come with Weblogic. Are you deploying your application as an EAR file. Classloader
would be different in that case. If not, you could try like this
1) If you have RMI remote clients for your EJBS you need Home and Remote interfaces
for EJB call. Otherwise if servelts/JSP on the same server use, you do not.
2) I am not 100% sure, but server startup classpath sould have only those classes
that your Remote or Home interface extends. Otherwise every thing at say WEB-INF/classes
would be visible and work. This is based on my experience. So if your EJB say remote
interface does not extents anything, you need nothing extra at you Weblogic startup
classpath.
3) The templates have concept of serverclasses and clientclasses which is only relevant
for Weblogic examples (I guess inherited from Weblogic5.1x which was not J2EE complient.
Hope this helps
Regards
HS
"Brian Snyder" <[email protected]> wrote:
>
Not sure if this belongs in this forum, but it seems like a reasonable choice.
My question is involving the environment for WLS 6.1; specifically involving
EJBs.
I'm sure this has been discussed before. I did a quick search and had
no luck,
however.
During our build process, we compile our EJB classes directly into the class
path
("./serverclasses" directory under WLHOME) where the rest of the classes
are compiled.
If I'm not mistaken, any client of an EJB is going to require those classes
(at
least the remote interface?) in the classpath in order to compile itself.
The problem we have is that when WLS starts, the warnings come up that the
bean classes
should not be in the classpath. I could remove them, but that's a little
painful.
If I do go to the pain of removing them, do I not have to place the EJB's
.jar
file in the classpath prior to starting the server? That seems a little
tedious
to have to modify the server's classpath each time I deploy a new EJB.
If I don't
have the .jar in the classpath, will clients to the EJB that run in the
server work?
Any thoughts you may have as to build process (seperate class path for build
versus
server run, etc) would be most appreciated.
Thanks!
Brian

Similar Messages

  • How to define your own context in an EJB environment - possibly distributed

    I would like to setup a context (an object accissible per logical thread) in an EJB environment, but I am too unfamiliar with the options I may have.
    My objective is to create a context in which I may set a value, then invoke a method on an object (which in turn invokes a method on another object and so forth) and eventually get back the value from the context. In other words I am trying to pass a value without passing it as a parameter. More specifically, I have written a JDBC Driver wrapper in which I want to intercept a number of method calls and based on the context settings perform one or the other JDBC preprocessing. The reason for not passing the values as parameters is to interfere as little as possible with any environment in which this code is to be integrated. I simply want to set the context and get the context (in my JDBC wrapper) without the surrounding code needing to change.
    I have succeded partially by using a ThreadLocal object to hold my context. I can set and get the values to and from the context and actually pass values to my Driver wrapper without explicitly passing them as parameters. This works well in a non-EJB environment. My concern arises when I switch to the EJB environment.
    If my context is set in a session bean, which invokes an entity bean, am I then guaranteed that these will execute in the same physical thread?
    If the session and the entity beans are hosted on seperate machines then the answer would certainly be NO. Is there any way to have the container manage the context and propagate it accross containers when needed?
    Any thoughts or suggestions on this topic are wellcome, even if they don't solve the issue entirely.
    Looking forward to hear from you all!
    /poul

    In an EJB environment, you have absolutely no control over threading issues. (It was purposefully designed that way.) However, you do have your own little "sandbox" in the EJB ClassLoader - which is why there is a lot of use of the Singleton pattern for factories and (very carefully!) as small caching mechanisms. You might want to look into that avenue - but you have to know how your EJB vendor's ClassLoader scheme works (there does appear to be a convergence in this area) and you must be very sensitive to potential thread-blocking operations that may take a while to complete.

  • XSL parsing in EJB environment

    Hi,
    I have a requirement to parse XSL, XML in Session EJB.
    I have read through a lot of article where parsing is normally done in Servlet.
    Can the requirement be achievable. Can anyone kindly help (it's urgent).
    Thank you

    Thank you so much to AMPHIGIS_X and gimbal2 for your reply.
    My early concern is that I am not sure of how intensive the XSL parser will java.io package during transformation. This is because usage of java..io package in EJB environment must be handle with care.
    I am more concerned when I read through a lot tutorial where the parsing is done by servlet level.

  • How to get EJBs environment?

    EJBContext.getEnvironment() is deprecated.
    "Deprecated. Use the JNDI naming context java:comp/env to access enterprise bean's environment."
    I'm confused on how to use "java:comp/env" to the the EJBs environment. Can anyone shed some light on this for me?
    Thanks.
    Eric

    Thanks.
    After reading that, I think I've asked the wrong question. I want to be able to set/change an MDB's provider-url. I assume I could do this in the setMessageDrivenContext method. The problem is that our dev/test/prod environments will each have a different provider-url. Building a different weblogic-ejb-jar.xml file for each environment will pretty much ensure that someone will eventually deploy the wrong one and prod will be listening to a dev topic. Anyone have an elegant solution for this?
    Thanks.

  • Utilizing EJB Environment Entries in different runtime env

    Hello
    We are in the process of moving to the NWDI environment.
    Most of our EJBs are using the EJB Environment Entries (defined in the deployment descriptors)
    Some of those EJBs rely on the fact that the same property will have different values in different runtime environments.
    I have noticed that during the import process (from one env to another) done by the CMS there is no option to change those environment varialbles.
    I have also noticed that there is no option to change the values of those environment entries during runtime in the SAPJ2EE 6.40 (that option existed in SAPJ2EE 6.20)
    I just need to get an official answer;
    Is there no way to control the values of the environment entries during deployment with NWDI?
    Do we have to change our code (that relied on J2EE standards) so it does not expect different values in different runtime environments?
    I have an open CSN about this, but no answer there yet...
    <a href="https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/main.do?event=LOAD&smpsrv=h">CSN 0120025231 0001708443 2005</a>

    hi
    I have the same problem describewd in this <a href="https://www.sdn.sap.com/irj/sdn/thread?threadID=45460">SDN thread</a>
    to save you the time, it says that You must add the declaration within the sda-dd.xml
    <substitution-variable>
    <variable-name>com.vendor.yourVarName</variable-name>
    </substitution-variable>
    Note that if you write a Server library this file is displayed by the NWDS
    However, if you are using a J2EE application module, this file is generated during the build and stored into the ear.
    if you try using a substitution variable in your deployment descriptor without specifying it in the sda-dd.xml you get a deployment error -
    com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable
    (see full log message below)
    As a workaround, I edited the sda-dd.xml after the EAR was generated (added the required entry), repacked it and deployed it.
    Then it worked.
    The problem is, if I use NWDI, I CANNOT edit the EAR that gets generated!
    any idea of how to solve this?
    <u>full log message of deployment error</u>
    02/01/2006 13:58:13 /userOut/deploy (com.sap.ide.eclipse.sdm.threading.DeployThreadManager) [Thread[Deploy Thread,5,main]] ERROR:
    [001]Deployment aborted
    Settings
    SDM host : zaksrv2
    SDM port : 50018
    URL to deploy : file:/C:/DOCUME1/zak/LOCALS1/Temp/temp19284checkpoint.comtimeofftest5substear.ear
    Result
    => deployment aborted : file:/C:/DOCUME1/zak/LOCALS1/Temp/temp19284checkpoint.comtimeofftest5substear.ear
    Aborted: development component 'timeoff/test5/subst/ear'/'checkpoint.com'/'DEV_TIMEOFF6_D'/'20060102135547':
    Caught exception during application deployment from SAP J2EE Engine's deploy API:
    com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable [com.cp.sapGRP].
    (message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).DMEXC)
    Deployment exception : The deployment of at least one item aborted

  • EJB environment question (static helper classes)

    We're using JBoss as AS containing several stateless session beans.
    Now, we have certain helper classes that are abstract and contain static methods. Is this a problem for the EJBs? All of them use these helper classes all over their methods. Are they sharing the static class and will slow down somehow? Or is each EJB using its version of the class and can run concurrently?
    Should we rethink this and put an INSTANCE of each helper class in each ejb instead of using static methods in the helper class?
    Now in EJB method:
    Helper.calculateStuff();
    Should it be?
    Helper h = new Helper(); // defined when ejb is created
    helper.calculateStuff();
    Edited by: JAeon on Sep 8, 2008 12:21 AM
    Edited by: JAeon on Sep 8, 2008 12:22 AM

    >
    The helper methods do database querries etc and return results that the EJB sends onwards to clients. If these methods
    are NOT synchronized (and the ejbs share the static class) won't it cause concurrency errors? I think most of our methods are not
    synchronized (and it doesn't seem to cause any concurrency errors so far... though the system have not beeen stressed test that much,
    and concurrency bugs tends to pop up later and randomly :P).
    >
    No, if you dont have any static data variables in the Java classes, static method as such will not cause concurrency errors, and the methods should not be synchronized.
    If you have any synchronized methods and they take a while to execute, that could become a bottleneck in itself, because different threads waiting for each other,
    so make sure you dont have any synchronized methods where it is not explicitly needed.
    Think of a static method (without static data in the class being manipulated) as a plain function in another programming-language.
    >
    We have some scaleability problems with the EJBs... It seems as if they do not run concurrently. If we do a stress test with several threads calling the EJBs their response time increases by a too large factor to feel comfortable...
    >
    Apparently, you do have a some scaling/concurrency problem, which could have many causes -- transaction locking and clashes in the database, poorly configured database, network congestion, problems in the EJB architecture, etc -- can be many reasons...
    The general idea to debug, is first to find out exactly what calls in your code that take longest time to execute (profiling, logging, System.out.println's are useful) when you put parallel load on your system -- rather than just seeing "the whole application seems slow" -- from there you can move on, "divide&conquer" the problem, etc...

  • Questions on Java Reflection in EJB

    Hi,
    Recently, I use reflection technology on EJB to get/set properties of a bean.
    We need it because we need to encapsulate data in a map to transfer data between
    presentation layer and business back end(i.e. the so-called value data object).
    A bean is packed into a map as following:
    The property name of a bean becomes the key in the map, and its value becomes the
    corresponding value in the map.
    So we have to do two things:
    1)Given a bean, convert it to a map;
    2)Given a data map, assign the value to a bean
    It would be nice if we can implement the two requirements in a base class. So I use
    reflection. And succeed to achieve the goal.
    But there are two problems occured and I can't understand why.
    1)If I use Class.forName() to load the entity bean implementation class(BMP or CMP abstract
    schema) I got a ClassNotFoundException. A workaround is to jar the BMP or CMP bean class
    and place it on the classpath.
    So, I want to know why there is such restriction.
    2)For the classes java.lang.reflect.Method, java.lang.reflect.InvocationTargetException
    I reference to in bean class, the IDE(I use IntelliJ Idea) give me a
    warning: "Use java.lang.reflect.Method are not allowed in EJB". Are the methods really
    dangerous in EJB environment?
    Can anyone explain me these pluzzles?
    Thank you in advance!
    BTW, I develop under weblogic 7.0. Now, my program functions well, I just can't understand
    the above phenomena.
    Regards,
    Justine

    1) You should never directly manipulate the EJB implementation class. That class is for the container. When accessing EJBs (no matter the means), you should use the Home/Remote or Local interfaces - those your client should already have. If what you're doing is actually working for you, I can only say that you're not using EJBs properly and are not getting the actual "bang for the buck" you paid for. And you're damn lucky it hasn't blown bits all over the place...
    2) Yes, it is potentially dangerous to be dorking around with reflection on EJBs. When you're using the Home/Remote or Local interfaces, you're actually using an Object that the vendor supplies to perform the actual remote operations. Using reflection could potentially invoke one of the "hidden" vendor methods with extremely unpredictable results - like deleting your entire table.
    As for using a map for transferring data, I would strongly recommend against it, especially in this case, because you've not only lost the strong typing you get with ValueObjects, but you have to do a lot of extra work on both "sides" (client and EJB) to make sure all your data is present and/or correct.

  • Creating library file with ejb

    Can anyone suggest me the process by which we can create a library file with ejb? I am new to the ejb environment and i need some guidance regarding this.

    Could you be more specific about what you mean by library file? Are you asking about how to package classes used by ejb components outside of the ejb-jar itself?
    --ken                                                                                                                                                                                                                                                                                                                                                       

  • Calling an RFC from an EJB over an Enterprise Connector

    Hi all,
    I would like to call an RFC enabled Function Modul (FuBa) from a BW-System over an EJB in a Web AS environment bei  passing SAP Logon Ticket.
    To achive this goal, i've generated proxy classes (Enterprise Connector) via NWDS .
    If i call enterprise connector localy from an example class (See attachment), it works.
    BUT
    if I use the same Code within an EJB, bei correct deployment , it doesn't work. I become an exception, during to establish a connection
    What is wrong here ?
    What do i have to do in an a EJB-Environment to use an Enterprise Connector ?
    Best Regards
    A. Büyükyilmaz
    ATTACHMENT
    Created on 13.02.2007
    To change the template for this generated file go to
    Window>Preferences>Java>Code Generation>Code and Comments
    package de.xxx.test.ep.main;
    import java.sql.Date;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import com.sap.aii.proxy.framework.core.ApplicationFaultException;
    import com.sap.aii.proxy.framework.core.SystemFaultException;
    import com.sap.mw.jco.JCO;
    import de.xxx.yyy.zzz.connectivity.fuba.Anlage_PortType;
    import de.xxx.yyy.zzz.connectivity.fuba.Zge_Gerel_Data_For_Kne_Kn_Input;
    import de.xxx.yyy.zzz.connectivity.fuba.Zge_Gerel_Data_For_Kne_Kn_Output;
    @author pg4011
    To change the template for this generated type comment go to
    Window>Preferences>Java>Code Generation>Code and Comments
    public class GetAnlage {
    private JCO.Client mConnection = null;
    public boolean connectToSAP(
    String client,
    String user,
    String passwd,
    String lang,
    String appServer,
    String sysNo) {
    try {
    mConnection =
    JCO.createClient(client, user, passwd, lang, appServer, sysNo);
    mConnection.connect();
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    return true;
    public static void main(String[] args) {
    GetAnlage anlage = new GetAnlage();
    if (anlage.connectToSAP ("50", "abc", "pwd", "DE", "system", "00")) {
    System.out.println("Anlage wird erstellt");
    anlage.getData();
    System.out.println("");
    System.exit(0);
    private void getData() {
    // ImportParameter
    Zge_Gerel_Data_For_Kne_Kn_Input input = new Zge_Gerel_Data_For_Kne_Kn_Input();
    // Hole proxy Instance mit JCO.Client instance
    Anlage_PortType proxy = new Anlage_PortType();
    proxy.messageSpecifier.setJcoClient(mConnection);
    Zge_Gerel_Data_For_Kne_Kn_Output output = new Zge_Gerel_Data_For_Kne_Kn_Output();
    input.setI_Bp_Nr("7901514764");
    input.setI_View("03");
    input.setI_Spras("DE");
    Date stichtag = new Date(2006, 9, 22);
    input.setI_Stichtag(stichtag);
    //Rufe RFC auf
    try {
    output = proxy.zge_Gerel_Data_For_Kne_Kn(input);
    String s = "";
    System.out.println(s);
    } catch (SystemFaultException e) {
    e.printStackTrace();
    } catch (ApplicationFaultException e) {
    e.printStackTrace();

    Hi Rajesh,
    it's realy funny.  Although, i inserted som trace outputs behind of catch-statement, i do not see any information about exception in application log.
    but i see, that the method becomes correct inputparameters and i see it try to make a connection. After that, it end without a trace.
    Best Regards
    Ahmet

  • Should EntityManaer be Closed in a Desktop Application Environment

    Hi All,
    I'm developing a desktop application with persistence api to connection to database. The application consists of two simple classes Order and Customer, where Customer is used as a field in Order. There is a ManyToOne relationship from Order to Customer and a OneToMany relationship from Customer to Order.
    I have another class DBManager for managing all the database activities. All the methods in the class will create an entityManager and close the entityManager once they finish their own operation. An example method is as following:
    public void addOrder(Order order) throws Exception
            try {
                entityManager = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT).createEntityManager();
                entityManager.getTransaction().begin();           
                entityManager.persist(order);
                entityManager.getTransaction().commit();
            } finally {
                if (entityManager.isOpen())
                    entityManager.close();
        }As all entity instances will become detached once the entity manager is close. If I execute the above method, I'll receive an error saying that "Cannot persist detached object.", where the object refers to the Customer object stored in the Order.
    I found that there are two ways to fix this problem, I can either merge the Customer object back to the context as following:
    public void addOrder(Order order) throws Exception
            try {
                entityManager = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT).createEntityManager();
                entityManager.getTransaction().begin();
                order.setCustomer(entityManager.merge(order.getCustomer()));
                entityManager.persist(order);
                entityManager.getTransaction().commit();
            } finally {
                if (entityManager.isOpen())
                    entityManager.close();
        }or I can leave the entityManager unclosed after any operation as following:
    public void addOrder(Order order) throws Exception
                entityManager = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT).createEntityManager();
                entityManager.getTransaction().begin();           
                entityManager.persist(order);
                entityManager.getTransaction().commit();
        }Both ways would work but I'm not sure which one is the best practice to handle the situation. I know that in EJB environment the entityManager should never be closed, but according to article http://java.sun.com/developer/technicalArticles/J2SE/Desktop/persistenceapi/, entityManager should always be closed when it is no longer needed. I'm therefore very confused about which way to go. Can anyone please give me some advice on that?
    Thanks in advance. You help would be greatly appreciated.
    Edited by: EWL on Feb 18, 2008 4:37 PM

    There are a couple of combining usage issues that are providing the problem. The issue is not specifically with you closing the EM but that combined with your usage of the persist() api. This test case would have the same issue in an EJB environment even if you were not closing the EM.
    When using the persist() api you are depending on the behaviour that managed objects are ignored by the persist when infact you should be using multiple APIs depending on the state of the Entities that your application is interacting with.
    The best approach is to interact with the EM within your application code. This allows you to share the same EM across all of a particular business call or logical application transaction. This could be wrapped within a DBManager but you would need to expose the concept of transactions to the application. This ensures you can track the lifecycle state of the Entities involved while allowing you to easily manage the EM resource.
    If your architecture requires the DBManager pattern you have developed then you should only use persist() on Entities that you know to be new and merge() otherwise. In the example you have provided you could simply swap out persist() for merge() in your addOrder method (without the additional customer merge) and the code should work as you expect allowing you to close the EM.
    You will need to close() or clear() the EM at some point within your application. Otherwise you are sure to run out of memory.
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Using COM component from EJB

    Hi,
    I'd like to use a third party COM component from. I know JIntegra and such tools but I'd like to use a non-commercial software as I need it for my diploma thesis.
    Did anyone ever manage to call an ActiveX/COM component from an EJB. I mean a third party component, not a self developed one.
    Could I use M$ specific classes in my EJB or do they rule out each other?
    Any working example?
    TIA
    Frank

    Did you really manage to use third party DLLs with EZJCOM?
    Would be great if you could clarify this to me:
    If I would use M$ specific classes to have a Java / COM - communication then I would
    have to use M$ JVM, right?
    But if I use that VM, I can not use my classes within the J2EE / EJB environment as this
    requires Sun's JVM, right?
    So, if I use EZJCOM for that than I do not have to use any M$ specific stuff, right?
    Unfortunately, I did not get any further yet. The product I'd like to use is Lindo.
    I have the DLL, but trying to use it with EZJCOM it says: No COM interface definition.
    No tlb is given either. There's a JAR package with classes that seem to use JNI to call
    DLL functions, so maybe it does not provide a COM interface.
    But that means I would have to build my own (maybe VB) ActiveX DLL that calls all the funtions
    in the Lindo DLL. But that would keep me busy for weeks I guess :-(
    As I need it for my diploma thesis, I can not spend a lot of time building ActiveX components.
    Frank

  • Ejb ref resolution error

    Dear all,
    I try to set up a simple ejb environment. I managed to run the converter example from the JEE tutorial bundle in the NetBeans / Glassfish environment.
    Then I tried to write a standalone java client. The code consists in essential of the statements
    Context ctx = new InitialContext();
    ctx.lookup("converter.ejb.Converter");Unfortunately, running this program from a windows command line by the "java" command (plus some classpath settings) results in:
    NamingException: ejb ref resolution error for remote business interface converter.ejb.ConverterThe jndi entries of the app server are
    jndi root
      |
      |--  converter.ejb.Converter#converter.ejb.Converter
      |--  converter.ejb.Converter__3_x_Internal_RemoteBusinessHome__
      |
      |--ejb
          |-- converter.ejb.Converter All environment settings are the standard ones.
    Has anybody an idea, what the problem could be ? Thank you very much for your help.
    Ralph

    Hi,
    thanks for your interest. The client code is
    // file ConverterClient
    package ejb.clients;
    import javax.naming.*;
    import java.util.*;
    public class ConverterClient
      public static void main(String[] args)
        try
          Context ctx = new InitialContext();
          ctx.lookup("converter.ejb.Converter");
          Enumeration e = ctx.list("");
          while (e.hasMoreElements())
            System.out.println(e.nextElement());
        catch(NamingException ex)
          ex.printStackTrace();
    }The interface:
    // file Converter
    package converter.ejb;
    import java.math.BigDecimal;
    import javax.ejb.Remote;
    @Remote
    public interface Converter {
        public BigDecimal dollarToYen(BigDecimal dollars);
        public BigDecimal yenToEuro(BigDecimal yen);
    }The bean code is
    // file ConverterBean
    package converter.ejb;
    import java.math.BigDecimal;
    import javax.ejb.Stateless;
    @Stateless
    public class ConverterBean implements converter.ejb.Converter {
        private BigDecimal euroRate = new BigDecimal("0.0070");
        private BigDecimal yenRate = new BigDecimal("112.58");
        public BigDecimal dollarToYen(BigDecimal dollars) {
            BigDecimal result = dollars.multiply(yenRate);
            return result.setScale(2, BigDecimal.ROUND_UP);
        public BigDecimal yenToEuro(BigDecimal yen) {
            BigDecimal result = yen.multiply(euroRate);
            return result.setScale(2, BigDecimal.ROUND_UP);
    }It's been deployed successfully with NetBeans on Glassfish app server.
    The commands for compiling and running the client. "c:\java\JEE" is the installation dir for jee.
    c:\java\programs\src javac -d ..  -cp c:\java\JEE\lib\javaee.jar;c:\java\JEE\lib\appserv-rt.jar   ConverterClient.java
    c:\java\programs java -cp c:\java\JEE\lib\javaee.jar;c:\java\JEE\lib\appserv-rt.jar;.  ejb.clients.ConverterClient

  • Annotation for EJB 3

    I'm a java programmer for a few years .
    I'm new EJB environment.
    ejb is very difficlut to get.
    and futhermore,
    like @EJB,
    what's @XXX form?
    does any body know the simple starting point?
    any artices or information is welcomed.
    Thanks.

    EJB 3.1 is easy to learn.
    To lean in general about annotations (@XXX) go to: http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html
    To Learn about EJB technology: http://jcp.org/en/jsr/detail?id=318
    To learn more about EJB in GlassFish visit: https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html

  • Where to start w/ J2EE... EJB

    I've been practicing Java for some time now and noticing the changes and how J2EE is being pushed. What I want to know is where do I start with J2EE1.3? I want to build a trial application using EJB with CMP. I downloaded orionserver which states that it only partially supports EJB (1.2 is it?) Anyway I recently noticed the J2EE1.3 SDK on this site and wanted to know what it uses as the EJB container. What version of Tomcat is included? Is it better than orionserver v1.6? Is there another free J2EE compliant platform that I can develop with? Where do I start? Thanks in advance for your replys.
    Cliff

    You can also port OpenEJB in your Tomcat. That is, you can still use tomcat as your serlvet container, and in addition use openEJB as your EJB environment.
    more info
    www.openejb.org

  • EJB, Servlet, JSP help

    I have built a small application which creates/maintains company divisions following the MVC design pattern.
    I now want to move the methods which create,update, add objects out of the controller possibly into the Model servlet. This I hope would allow other parts of the application (not yet built) to manipulate division objects and not have to do this through the Contrroller which is used to call the JSP and present data.
    I am wondering whether I should do this, or whether i should just move straight to Entity Java Beans, which I believe handle all interfaces with the database.
    If you reckon this is the correct way forward can you tell me where I can see a good example i.e. has EJB which handle all dtabase communication and can talk to the controller servlet and the jsp.

    Hi,
    We cover these issues in our book Core J2EE Patterns and also include some basic refactorings for J2EE, including moving from a non-EJB to EJB environment in phases.
    Good luck,
    Dan
    I have built a small application which
    creates/maintains company divisions following the MVC
    design pattern.
    I now want to move the methods which create,update,
    add objects out of the controller possibly into the
    Model servlet. This I hope would allow other parts of
    the application (not yet built) to manipulate division
    objects and not have to do this through the
    Contrroller which is used to call the JSP and present
    data.
    I am wondering whether I should do this, or whether i
    should just move straight to Entity Java Beans, which
    I believe handle all interfaces with the database.
    If you reckon this is the correct way forward can you
    tell me where I can see a good example i.e. has EJB
    which handle all dtabase communication and can talk to
    the controller servlet and the jsp.

Maybe you are looking for

  • Apple TV 'an error occurred loading this content'

    Apple TV 'an error occurred loading this content'

  • Calling a URL from WD for ABAP 2004s

    Hi, In our scenario we would like to call workflow items from a web dynpro for abap application. We do not use a portal. I have build an alv from where the user can select his workflow tasks. A button then calls a method to trigger workflow. Within t

  • Config docs required!

    Hi, Can anybody provide configuration docs for PD and Recruitment for 4.6C. Urgent pls. Thanks in advance regards, kalyani

  • Is there a way to simulate a notch filter in CVI?

    Hi I am pretty new to CVI.  I've only used it for a course in university.  I'm wondering if CVI can do things that Matlab can do.  For example, a notch filter is very easily implemented in Matlab.  Is there a way to create a notch filter in CVI? Than

  • My ipod is under a year old.

    However, during this years Lollapalooza Festival the rain destroyed my ipod. Is this by any chance covered under the warranty?