EJB and Jdk1.5 problem

We are trying to migrate jdk 1.4 (wl 8.1) to jdk1.5 (wl 9.1), when we complie Java source code and build EJB ( using Ant/build.xml), we got following error and can not proceed any further.
[java] /home/fipdev/DeltaOne/newproductimport/ejbcgen/com/leh/deltaone/ejb/business/newproductimport/DONewProductImportAccessor_41o8gs_Impl.java:12: cannot access com.leh.deltaone.ejb.business.newproductimport.DONewProductImportAccessorBean
[java] bad class file: /home/fipdev/DeltaOne/newproductimport/ejbcgen/com/leh/deltaone/ejb/business/newproductimport/DONewProductImportAccessorBean.class
[java] class file has wrong version 49.0, should be 48.0
[java] Please remove or make sure it appears in the correct subdirectory of the classpath.
[java] extends DONewProductImportAccessorBean
[java] ^
[java] 1 error
[java] Exec failed .. exiting
[java] Java Result: 1
49.0 means using jdk1.5 and 48.0 means using jdk1.4, we do use jdk 1.5 in our development server and could verify by
bash-2.03$ java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
do you know why?
Michael Zou

Much appreciated your reply, I used both Windows and Unix system and Ant to build EJB, both CLASSPATH and PATH are configured to Jdk 1.5 version.
CLASSPATH=C:\bea\jdk150_06\lib and PATH=C:\bea\jdk150_06\bin, and verify that it is 1.5 not 1.4 version.
C:\Eclipse_WorkSpace\DeltaOne\ant>java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)
but still getting error, any an idea? thank you again.
Michael

Similar Messages

  • Problem with EJB and JMS - Failed to obtain/create connection

    hello ejb and jms programmers,
    My problem is my topic MDB keep on retrieving the same message when there is a database connection failure. Maybe somebody could help me how to prevent to retrieve the same data?
    Given:
    - I purposedly turn off the pointbase database because im testing my error handling.
    - Im using SJSAS 8 as my application server.
    - My message Driven Bean of topic type.
    - Im using CMP for my entity bean
    Here is the scenario of whats happening - step by step:
    1. A separate application publishes a message to JMS queue server
    2. My MDB retrieves this message and do some processing then inserts a record (transaction history) in my database
    3. But my db is turned off or down
    4. My MDB sends a successful processing reply to the JMS queue server
    5. Then i noticed that my server.log keeps on growing so when i opened it, the record was not inserted and printed the stacktrace below "RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException" (complete stacktrace below)
    6. I understand the cause of the stacktrace is because the DB is turned off. But what i dont understand is that my MDB keeps on reading the same message. Since my MDB is of topic type, isnt a topic MDB supposedly reads a message only once???
    So my questions are:
    1. how do i handle insert database error?
    2. how can i stop my MDB from processing the same message?
    3. any better suggestions?
    Thank you in advance :)
    leigh
    *** more complete stack trace ***
    [#|2005-01-09T15:35:57.097+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.transaction|_ThreadID=17;|JTS5041: The resource manager is doing work outside a global transaction
    javax.transaction.xa.XAException
         at com.pointbase.xa.xaException.getXAException(Unknown Source)
         at com.pointbase.xa.xaConnectionResource.start(Unknown Source)
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
    [#|2005-01-09T15:35:57.167+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5027:Unexpected exception in resource pooling
    javax.transaction.SystemException
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:185)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
    [#|2005-01-09T15:35:57.177+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException|#]
    [#|2005-01-09T15:35:57.227+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: javax.transaction.SystemException]|#]
    [#|2005-01-09T15:35:57.237+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb|_ThreadID=17;|EJB5071: Some remote or transactional roll back exception occurred
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO77006: SQL exception: state = null, error code = 0.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
    FailedObjectArray: [[email protected]5ac]
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnectionInternal(TransactionImpl.java:1444)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnection(TransactionImpl.java:1339)

    Hi annie,
    Wherever you are handling database transactions,
    you'd not be able to create a Connection if database
    is closed (I think you mentioned turning off the
    database) then at this condition, you should
    certainly throw a System level exception and stop all
    processing with some meaningful flow to indicate a
    failure (like display message on UI). Even
    network problems are handled by exceptions... so I
    don't see a reason why you didn't wrap it in the
    first place.
    Anyway, try handling specific exceptions rather than
    the general Exception... this will give you a better
    idea of what to do in case of an exception.Yes i know this. I am practicing this in my non-j2ee server applications. But the j2ee app im making, i just pass the db url in the descriptor and the app server automatically creates the connection for my app. So where would i put exception handling?
    2. how can i stop my MDB from processing the same
    message?Guaranteed delivery is not supposed to stop
    processing. It will continue to process the message
    after certain intervals till the message is
    delivered. You shouldn't deliver it at all, if you
    are able to detect that the database is off
    The problem here is that my MDB automatically retrieves the message from the JMS queue server. Im not the one retrieving the messages manually.
    My assumed behavior of topic MDB is once the a certain MDB retrieves a message it will not retrieve the same message anymore.
    thank you in advance.
    leigh

  • Problem in creating EJB and WebService using complex class structure

    Hi All,
    My requirement is like :
    I have a class with very complex structure.
    I have also used external .jars.
    Now when I have created an EJB with a method's return parameter as above class.
    But when I am creating a Webservice, it doesnot allow me to select this method.
    Not able to configure why ?
    Please Help.
    Thanks.

    Hi,
    I have gone through your code and the problem is that when you create jar it takes a complete path address (which is called using getAbsolutePath ) (when you extract you see the path; C:\..\...\..\ )
    You need to truncate this complete path and take only the path address where your files are stored and the problem must be solved.

  • JDeveloper 3.1 and JDK1.2.2: are they REALLY compliant?

    Hi,
    I've already been developing in JDev 3.0 using Java 1.1.8 for a few months and have a number of EJB's deployed in an Oracle8i 8.1.5 database. These are accessed by a servlet which is called from a C++ application in order to populate the db tables. I'm using Java Webserver 2.0 and everything works fine.
    I've been upgrading to Java 2 with JDev 3.1, Oracle 8i R2, and JDK1.2.2. Everything again works fine when I am testing and debugging in the JDev 3.1 IDE but when I deploy to the Web server, my context lookup for the EJB published name freezes, returns an error status to the C++ app but does not display any error/exception msgs in the server console/log files.
    On investigating I found that the java.exe bundled with JDev 3.1 as the JDK1.2.2 version is actually NOT the java.exe that has been dispatched with the release version of JDK1.2.2! There are however two files in the bin directory of the JDK1.2.2 called oldjava.exe and oldjavaw.exe which correspond to the ones bundled with JDev 3.1?
    Could someone please explain what is going on? As it stands at the moment the version of java.exe with JDK1.2.2 does not work for my EJB's but if I replace it with the oldjava.exe, it works fine. Does this mean that JDev 3.1 is NOT actually JDK1.2.2 compliant or have I done something wrong?
    This is potentially a major problem for our projects so if anyone at Oracle has any info it would be greatly appreciated.
    Cheers
    Dave

    David,
    I changed Sun Java 1.2.2 VM to JDeveloper 3.0 1.1.8 VM and now I get this:
    [Root exception is java.lang.ClassNotFoundException: EJBBibles.BibleSearchHomeHelper]javax.naming.Na
    mingException: Unknown reasons
    at oracle.aurora.jndi.sess_iiop.SessionCtx._activate(SessionCtx.java:82)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.activate(SessionCtx.java:276)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.lookup(ServiceCtx.java:320)
    at oracle.aurora.jndi.sess_iiop.sess_iiopURLContext.lookup(sess_iiopURLContext.java:215)
    at oracle.aurora.jndi.sess_iiop.sess_iiopURLContext.lookup(sess_iiopURLContext.java:201)
    at javax.naming.InitialContext.lookup(InitialContext.java:288)
    at EJBBiblesServlet.Servlet1.init(Servlet1.java:36)
    at org.apache.tomcat.core.ServletWrapper.initServlet(ServletWrapper.java:315)
    at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:445)
    at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
    at org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
    at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
    at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHand
    ler.java:160)
    at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)
    at java.lang.Thread.run(Thread.java:466)
    If I use JDev 1.2 VM, I get this:
    javax.naming.NotContextException: fumaca:2481:eatg/test/BibleSearchRemote
    java.lang.Object oracle.aurora.jndi.sess_iiop.sess_iiopURLContext.lookup(javax.naming.Name)
    java.lang.Object oracle.aurora.jndi.sess_iiop.sess_iiopURLContext.lookup(java.lang.String)
    java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
    void EJBBiblesServlet.Servlet1.init(javax.servlet.ServletConfig)
    void org.apache.tomcat.core.ServletWrapper.initServlet()
    void org.apache.tomcat.core.ServletWrapper.handleRequest(org.apache.tomcat.core.Request, org
    .apache.tomcat.core.Response)
    void org.apache.tomcat.core.ServletWrapper.handleRequest(org.apache.tomcat.core.HttpServletR
    equestFacade, org.apache.tomcat.core.HttpServletResponseFacade)
    void org.apache.tomcat.servlets.InvokerServlet.service(javax.servlet.http.HttpServletRequest
    , javax.servlet.http.HttpServletResponse)
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.Serv
    letResponse)
    void org.apache.tomcat.core.ServletWrapper.handleRequest(org.apache.tomcat.core.Request, org
    .apache.tomcat.core.Response)
    void org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request, org.apach
    e.tomcat.core.Response)
    void org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apache.tomca
    t.service.TcpConnection, java.lang.Object[])
    void org.apache.tomcat.service.TcpConnectionThread.run()
    void java.lang.Thread.run()
    Which means that there is a difference relative to the VM version.
    All the names are correct on 8i deployment. And all necessary files are on classpath, (including the EJB source and generated jars, that are also in the /lib on the context dochome).
    Any thoughts?
    Thanks,
    Eduardo
    null

  • How to set classpath to EJB and Servlets

    Hi all,
    How can I add a classpath to EJB and Servlets in Weblogic 6.1, so that that classpath
    can be achieved by both EJB jar and war file? I have deployed a .ear file having
    the jar and war files. Now the EJBs inside the jar file are not reaching the class
    files of the war file and the class files in the war file are not reaching to
    the EJBs. Please let me know at the earliest.
    Atanu

    Hi.
    You might try looking at the petstore example which combines webapps (war files) with
    ejbs in an ear file to see how to do this. It may be a simple config problem.
    Regards,
    Michael
    Atanu Dey wrote:
    Hi all,
    How can I add a classpath to EJB and Servlets in Weblogic 6.1, so that that classpath
    can be achieved by both EJB jar and war file? I have deployed a .ear file having
    the jar and war files. Now the EJBs inside the jar file are not reaching the class
    files of the war file and the class files in the war file are not reaching to
    the EJBs. Please let me know at the earliest.
    Atanu--
    Michael Young
    Developer Relations Engineer
    BEA Support

  • RE: design patterns involving EJBs and JDO

    Is the idea that you specify in some config file (xml?) the methods of
    your session bean, whether its stateful or stateless, the default bean
    transaction semantics, etc, then say "go" and it generates the home and
    remote interfaces and the skeletal session bean class?
    -----Original Message-----
    From: Eric Lindauer [mailto:[email protected]]
    Sent: Monday, June 25, 2001 8:26 AM
    To: JDO-ListServ
    Subject: Re: design patterns involving EJBs and JDO
    I don't think it's publicly available yet, I used to work there and was
    helping out a little with testing. I'll tell you in advance, it really
    works well. Much like the JDO implementation, the process of turning
    things into SesisonBeans is very transparent to the developer. I guess
    TT is going to make it available in another week or two, as time
    permits.
    ----- Original Message -----
    From: Matthew <mailto:[email protected]> Adams
    To: '[email protected]' <mailto:'[email protected]'>
    Sent: Monday, June 25, 2001 11:18 AM
    Subject: RE: design patterns involving EJBs and JDO
    IMHO, JDO replaces entity beans, but you'll have to decide for yourself.
    My recommendation would be to use session beans exclusively.
    Where do you get TechTrader's "SessionBean Creator"? What are its
    features? How do you use it?
    -----Original Message-----
    From: Eric Lindauer [mailto:[email protected]]
    Sent: Monday, June 25, 2001 8:12 AM
    To: JDO-ListServ
    Subject: design patterns involving EJBs and JDO
    Hi,
    I was just wondering, if you are using JDO for persistence, does it
    matter whether you wrap your objects with proxy EntityBeans or
    SessionBeans? I am currently demoing TechTrader's SessionBean creator,
    which makes means that for me creating SessionBeans is much easier than
    creating EntityBeans. I am currently using stateful SessionBeans to
    wrap the JDO objects, simply dropping them when the bean is passivated
    and refinding them ( they'll already be in the cache ) when the bean is
    activated.
    My main advantage in doing it this way is SessionBeans are so much
    easier to create. Do you see any problems looming, or any other
    advantages to this decision?
    Thanks in advance.
    Eric

    I don't think it's publicly available yet, I used to work there and was
    helping out a little with testing. I'll tell you in advance, it really
    works well. Much like the JDO implementation, the process of turning
    things into SesisonBeans is very transparent to the developer. I guess
    TT is going to make it available in another week or two, as time
    permits.
    ----- Original Message -----_
    From: Matthew <mailto:[email protected]> Adams_
    To: '[email protected]' <mailto:'[email protected]'>
    Sent: Monday, June 25, 2001 11:18 AM
    Subject: RE: design patterns involving EJBs and JDO
    IMHO, JDO replaces entity beans, but you'll have to decide for yourself.
    My recommendation would be to use session beans exclusively.
    Where do you get TechTrader's "SessionBean Creator"? What are its
    features? How do you use it?
    -----Original Message-----
    From: Eric Lindauer [mailto:[email protected]]
    Sent: Monday, June 25, 2001 8:12 AM
    To: JDO-ListServ
    Subject: design patterns involving EJBs and JDO
    Hi,
    I was just wondering, if you are using JDO for persistence, does it
    matter whether you wrap your objects with proxy EntityBeans or
    SessionBeans? I am currently demoing TechTrader's SessionBean creator,
    which makes means that for me creating SessionBeans is much easier than
    creating EntityBeans. I am currently using stateful SessionBeans to
    wrap the JDO objects, simply dropping them when the bean is passivated
    and refinding them ( they'll already be in the cache ) when the bean is
    activated._
    My main advantage in doing it this way is SessionBeans are so much
    easier to create. Do you see any problems looming, or any other
    advantages to this decision?
    Thanks in advance.
    Eric_

  • Using EJB and CommandBean as Model in WD

    Hi Experts,
    I'm quite new to DI. My problem is, I created an EJB which is accessing a DB. Now I created a commandBean which accesses the EJB. I want to use this commandBean as beanModel in WD. I created public parts for the CommandBean but when I want to create the model in WD-Perspective and choose used dc as source, I can't find the jar file of the commandBean, that I wanted to expose with the public parts. Do I create public parts the wrong way? Or what could be the error? Is my approach correct in using a commandBean to access the EJB and use the CommandBean as Model?
    When I want to create the jar file of the CommandBean I get the following messages:
    JAR creation failed. See details for additional information.
      Problem writing /DI1_TP1IP1_Dzvejbhelpcom.bla/src/packages/com/sap/bla/MyCommandBean.jar to JAR: duplicate entry: com/sap/bla/MyCommandBean.jar
      Problem writing /DI1_TP1IP1_Dzvejbhelpcom.bla/bin/com/sap/bla/MyCommandBean.class to JAR: duplicate entry: com/sap/bla/MyCommandBean.class
      Problem writing /DI1_TP1IP1_Dzvejbhelpcom.chiron/src/packages/com/sap/bla/MyCommandBean.java to JAR: duplicate entry: com/sap/bla/MyCommandBean.java
    But the jar file is created? Could it be corrupted?
    Any help is appreciated
    Regards Manuel

    Hi Stefanie,
    you're right. Web Services is the better approach. So I wanted to use a web service and created a session bean wich calls my entity bean. I created a web service around the session bean. But when I want to deploy the ear-Project with the web service I get the following exception. I already checked sdn for this problem, but I could'nt find the solution:
    Caught exception during application deployment from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Cannot deploy application com.chiron/zv_ear.. Reason: Webservices common deployment exception! The reason is: Error occurred, trying to update web services for application com.chiron/zv_ear. . Additional info: none; nested exception is:      java.lang.Exception: com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment exception! The reason is: Error occurred, trying to update web services for application com.chiron/zv_ear. . Additional info: none
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:164)
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:118)
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:86)
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateManager.makeUpdate(WSUpdateManager.java:52)
         at com.sap.engine.services.webservices.server.deploy.WSDeployer.makeUpdate(WSDeployer.java:274)
         at com.sap.engine.services.deploy.server.application.UpdateTransaction.makeComponents(UpdateTransaction.java:400)
         at com.sap.engine.services.deploy.server.application.DeployUtilTransaction.commonBegin(DeployUtilTransaction.java:321)
         at com.sap.engine.services.deploy.server.application.UpdateTransaction.begin(UpdateTransaction.java:164)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:292)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:326)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:3184)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.update(DeployServiceImpl.java:669)
         at com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch(DeployServiceImplp4_Skel.java:1278)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:313)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:199)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:136)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices deployment exception! The reason is: Error occurred, trying to generate web services deployment files for application com.chiron/zv_ear. . The error refers to application: none, jar: , web service: .
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:296)
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.deployWebServices(WSUpdateProcessor.java:262)
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.updateWebServices(WSUpdateProcessor.java:155)
         ... 21 more
    Caused by: com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment exception! The reason is: Error occurred, parsing com.sap.engine.services.webservices.server.deploy.descriptors.sapwebservices.WSDescriptor descriptor, application com.chiron/zv_ear, web service zvglWS, location message: type: jar file, location: F:\usr\sap\TP1\JC00\j2ee\cluster\server0\.\temp\deploy\work\deploying\reader1197465981374\com.chiron~zv_model3.jar . . Additional info:
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:907)
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebService(WSDefinitionFactory.java:176)
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.loadWebServices(WSDefinitionFactory.java:158)
         at com.sap.engine.services.webservices.server.deploy.ws.update.WSUpdateProcessor.generateDeployFiles(WSUpdateProcessor.java:284)
         ... 23 more
    Caused by: com.sap.engine.interfaces.webservices.server.deploy.WSDeploymentException: Webservices common deployment exception! The reason is: Error occurred, trying to parse documentation for web service zvglWS. . Additional info:
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseDocumentation(WSDefinitionFactory.java:1590)
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDAndDocumentation(WSDefinitionFactory.java:1564)
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseWSDescriptor(WSDefinitionFactory.java:814)
         ... 26 more
    <b>Caused by: java.io.FileNotFoundException</b>: .\temp\webservices\deploy\com.chiron_zv_ear\webservices\com1\com\sap\chiron\zvglWSWsd.wsdef (The system cannot find the path specified)
         at java.io.FileOutputStream.open(Native Method)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
         at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
         at com.sap.engine.lib.jar.JarExtractor.extractFile(JarExtractor.java:232)
         at com.sap.engine.services.webservices.server.deploy.ws.WSArchiveFilesLocationHandler.getWsdInputStream(WSArchiveFilesLocationHandler.java:184)
         at com.sap.engine.services.webservices.server.deploy.ws.WSDefinitionFactory.parseDocumentation(WSDefinitionFactory.java:1574)
         ... 28 more
    (message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
    Deployment exception : The deployment of at least one item aborted
    I already removed the ear and deployed again. That works one time, after that I get the exception again. But even when it works one time, I can't find the web service in the web service navigator of the j2ee engine.
    Regards Manuel

  • EJB and JavaMail

    Hi,
    I have developed an EJB for sending emails using the javamail api.
    My problem is that when i run the same code using the a standalone java application (i have pasted the code from the EJB) and try sending mails outside the my companies domain the mails are going.
    However when i try sending the mails using the JSP end EJB the mails are not going.
    I noticed that in the standalone java application the protected method getPasswordAuthentication gets called by the system. However the same is not getting called in the EJB.
    I am new to this technology. Can anyone please help me out here.
    I am sending the code also that i am using:-
    // Get all the system properties
    Properties props = System.getProperties();
    props.put("mail.smtp.host", "HOSTNAME");
    props.put("mail.smtp.auth", "true");
    SetAuthentication auth = new SetAuthentication();
    Session session = Session.getInstance(props, auth);
    session.setDebug(true);
    // Create a message
    Message msg = new MimeMessage(session);
    try {
    // Set the From Address
    Address addrFrom =new InternetAddress("[email protected]");
    msg.setFrom(addrFrom);
    // Set the TO address
    Address addrTo = new InternetAddress(strTo);
    msg.setRecipient(MimeMessage.RecipientType.TO, addrTo);
    // Set the subject of the mail
    msg.setSubject(strSubject);
    msg.setContent(strContent, "text/plain");
    msg.saveChanges();
    Transport.send(msg);
    // Code in class SetAuthentication
    private PasswordAuthentication auth;
    public SetAuthentication() {
    super();
    auth = new PasswordAuthentication("user", "password");
    protected PasswordAuthentication getPasswordAuthentication() {
    return auth;

    Hi,
    I have worked on JBoss and Weblogic app servers and one can initialize java mail settings in the app server,.I am sorry, i don't know how its done in the app server you are using.
    I would suggest you to try the following :
    static {
    /* Setting Properties for STMP host */
    props = System.getProperties();
    props.put("mail.smtp.host", "PUT SMTP SERVER HERE");
    props.put("mail.smtp.auth", "true");
    session = Session.getDefaultInstance(props, null);
    try {
    MimeMessage message = new MimeMessage(session);
    message.setRecipient(Message.RecipientType.TO,
    new InternetAddress(this.to));
    message.setFrom(new InternetAddress(this.from));
    message.setSubject(this.subject);
    message.setText(this.message);
    Transport transport = session.getTransport("smtp");
    transport.connect("PUT SMTP SERVER HERE", "PUT USERNAME HERE", "PUT PASSWORD HERE");
    message.saveChanges();
    transport.sendMessage(message, message.getAllRecipients());
    transport.close();
    } catch (MessagingException e) {
    throw new Exception(e.getMessage());

  • Deployment (Ejb and third party jars with portal app)

    My problem is that I'm trying to set up the development env for a portal project.
    I have an ejb and a third party jar in my portal app. My portlets have some java
    classes associated with them. The ejb needs to reference(instantiate) the java
    classes in the portlets.
    Right now the only way I can get it to work is to put the ejb, third party jar
    and the portlet classes(jarred up) into the classpath of the server.
    I think there should be a way to deploy these things without putting them in the
    class path. I've read all the manual sections about deploying.
    Can anyone help me with this. It would be much appreciated.
    Thanks
    Rob Castle
    Principal
    NuWave Solutions, LLC
    12510 Prosperity Drive
    Suite 300
    Silver Spring, MD 20904
    office phone: (301) 625-3000 ext. 2003
    mobile phone: (410) 340-5529
    email: [email protected]
    website: www.nuwavesolutions.com

    On 01/10/2002 06:40 AM, Rob Castle wrote:
    My problem is that I'm trying to set up the development env for a portal project.
    I have an ejb and a third party jar in my portal app. My portlets have some java
    classes associated with them. The ejb needs to reference(instantiate) the java
    classes in the portlets.
    Right now the only way I can get it to work is to put the ejb, third party jar
    and the portlet classes(jarred up) into the classpath of the server.
    I think there should be a way to deploy these things without putting them in the
    class path. I've read all the manual sections about deploying.
    Refer to the portal deployment guide
    (http://edocs.bea.com/wlp/docs40/deploygd/index.htm). Also refer to
    http://edocs.bea.com/wls/docs61/ejb/deploy.html for more general
    information on deployment of ejbs.
    Regards,
    Subbu

  • Sequence of deployment for EJBs and Servlets....

    Is there any way to control the order in which weblogic 6.0 deploys EJBs
              and servlets?
              We have a few startup servlets which use EJBs, however, weblogic 6.0
              seems to start the Servlets before it deploys the EJBs and thus our
              servlets fail.
              Haider Abbas Kazmi - Java Mobile App. Developer
              [haider.kazmi.vcf]
              

    6.1 solves this problem:
              http://e-docs.bea.com/wls/docs61/adminguide/appman.html#1030797
              Haider Abbas Kazmi <[email protected]> wrote:
              > This is a multi-part message in MIME format.
              > --------------9AC9295410C7463D3A71C1A6
              > Content-Type: text/plain; charset=us-ascii
              > Content-Transfer-Encoding: 7bit
              > Is there any way to control the order in which weblogic 6.0 deploys EJBs
              > and servlets?
              > We have a few startup servlets which use EJBs, however, weblogic 6.0
              > seems to start the Servlets before it deploys the EJBs and thus our
              > servlets fail.
              > --
              > Haider Abbas Kazmi - Java Mobile App. Developer
              > --------------9AC9295410C7463D3A71C1A6
              > Content-Type: text/x-vcard; charset=us-ascii;
              > name="haider.kazmi.vcf"
              > Content-Transfer-Encoding: 7bit
              > Content-Description: Card for Haider Abbas Kazmi
              > Content-Disposition: attachment;
              > filename="haider.kazmi.vcf"
              > begin:vcard
              > n:Kazmi;Haider
              > tel;cell:(416)9864702
              > tel;fax:(416) 6434832
              > tel;work:(416) 3666425 x315
              > x-mozilla-html:FALSE
              > url:http://www.everypath.com/
              > org:Everypath Canada;Research & Development
              > adr:;;260 King St;Toronto;Ontario;M5A 4L5;Canada
              > version:2.1
              > email;internet:[email protected]
              > title:Java Mobile App. Developer
              > fn:Haider Kazmi
              > end:vcard
              > --------------9AC9295410C7463D3A71C1A6--
              Dimitri
              

  • Deflator and Inflator problem

    I use Deflator and Inflator to compress and decompress String for minimizing the size of the data to be sent in a network system.
    I wrote a class (DataCompressor.java) to do it.
    When i try to use it to compress and decompress within a single program (TestDataCompressor.java), it's all right.
    But when i try to compress a String in (DCClient.java), and sent the compressed String to (DCServer.java), there are exception in decompressing the compressed String
    My paltform is Windows2000 and JDK1.31
    Anyone know what is the problem i got?
    DataCompressor.java
    import java.util.zip.Deflater;
    import java.util.zip.Inflater;
    import java.util.zip.DataFormatException;
    import java.io.UnsupportedEncodingException;
    public class DataCompressor
    private Deflater DF = new Deflater(Deflater.HUFFMAN_ONLY,true);
    private Inflater IF = new Inflater(true);
    private int BUFFER_SIZE = 2048;
    private byte[] compressbytes;
    private byte[] decompressbytes;
    private String encoding = "UTF-16LE";
    public DataCompressor()
    compressbytes = new byte[BUFFER_SIZE];
    decompressbytes = new byte[BUFFER_SIZE];
    public DataCompressor(int bsize)
    BUFFER_SIZE = bsize;
    compressbytes = new byte[BUFFER_SIZE];
    decompressbytes = new byte[BUFFER_SIZE];
    synchronized public String compress(String inputString)
    int len;
    DF.reset();
    try
    DF.setInput(inputString.getBytes(encoding));
    DF.finish();
    len = DF.deflate(compressbytes);
    return new String(compressbytes,0,len,encoding);
    catch(UnsupportedEncodingException UEE)
    UEE.printStackTrace();
    return "";
    synchronized public String decompress(String inputString)
    int len;
    IF.reset();
    try
    IF.setInput(inputString.getBytes(encoding));
    len = IF.inflate(decompressbytes);
    return new String(decompressbytes,0,len,encoding);
    catch(UnsupportedEncodingException UEE)
    UEE.printStackTrace();
    return "";
    catch(DataFormatException DFE)
    DFE.printStackTrace();
    return "";
    synchronized void clear()
    DF.end();
    IF.end();
    DF = null;
    IF = null;
    compressbytes = null;
    decompressbytes = null;
    TestDataCompressor.java
    import java.io.*;
    public class TestDataCompressor
    public static void main(String[] args)
    String Data1 = "this is a test for data compression";
    String EnData1 = "";
    String DeData1 = "";
    DataCompressor DC = new DataCompressor();
    EnData1 = DC.compress(Data1);
    System.out.println("Out 1 :\n"+EnData1);
    DeData1 = DC.decompress(EnData1);
    System.out.println("Decom 1 :\n"+DeData1);
    DC.clear();
    DC = null;
    DCClient.java
    import java.io.*;
    import java.net.*;
    public class DCClient
    public static void main(String[] args) throws IOException
    Socket S = new Socket("127.0.0.1",9090);
    PrintWriter PW = new PrintWriter(S.getOutputStream(),true);
    String Data = "this is a test for data compression";
    String EnData = "";
    DataCompressor DC = new DataCompressor();
    EnData = DC.compress(Data);
    PW.println(EnData);
    System.out.println(EnData);
    System.out.println(EnData.length()+" chars sent");
    try
    byte[] D = EnData.getBytes("UTF-16LE");
    for(int i=0;i<D.length;i++)
    System.out.println(D+" : "+(char)D);
    catch(UnsupportedEncodingException UEE)
    UEE.printStackTrace();
    S.close();
    S = null;
    System.exit(0);
    DCServer.java
    import java.io.*;
    import java.net.*;
    public class DCServer
    public static void main(String[] args) throws IOException
    ServerSocket SS = new ServerSocket(9090);
    Socket S;
    BufferedReader BR;
    String message = "";
    DataCompressor DC = new DataCompressor();
    while(true)
    S = SS.accept();
    BR = new BufferedReader(new InputStreamReader(S.getInputStream()));
    while((message = BR.readLine())!=null)
    System.out.println(message);
    System.out.println(message.length() +" chars received.");
    try
    byte[] D = message.getBytes("UTF-16LE");
    for(int i=0;i<D.length;i++)
    System.out.println(D+" : "+(char)D);
    catch(UnsupportedEncodingException UEE)
    UEE.printStackTrace();
    System.out.println("Decompressed : "+DC.decompress(message));
    }

    This is a guess from a puurely cursory glance at your code. I thought I saw you using readline() to get compressed data off the wire. That is probably the wrong thing to do, as the data is not character data.

  • Weblogic NT Service 4.5.1 and Jdk1.2.2

    I am trying to set up the Weblogic NT Service with 4.5.1 SP9 and
    jdk1.2.2.
    When I use t3config to set up my JAVA_HOME with e:\jdk1.2.2 instead of
    using the -jre 1.2 I get an error saying that javai.dll can't be found.
    The problem is javai.dll is a jdk1.1.7B module. Has anyone else had
    this problem.
    Thanks,
    Mike Ball
    [email protected]

    It doesn't even get that far, java.exe can't start because it is looking for
    a jdk1.1.7b dll
    Mauricio Del Moral wrote:
    Trying setting
    -Djava.library.path=d:\weblogic\bin
    when server starts.
    I think you had jdk1.1.7B installed before, right?.
    Michael Ball <[email protected]> wrote:
    I am trying to set up the Weblogic NT Service with 4.5.1 SP9 and
    jdk1.2.2.
    When I use t3config to set up my JAVA_HOME with e:\jdk1.2.2 instead of
    using the -jre 1.2 I get an error saying that javai.dll can't be found.
    The problem is javai.dll is a jdk1.1.7B module. Has anyone else had
    this problem.
    Thanks,
    Mike Ball
    [email protected]

  • Using EJB Local Interface problem

    Hi to all
    I have got a problem in using Local EJB Interface in Weblogic , please attention to my description
    I use JDeveloper as IDE
    At first I create an Application in JDeveloper that has two projects that their names are Model and ViewContorller that first one contains my EJB and another contains my JSP page respectively
    The EJB code is :
    @Stateless(name="AliEJB001Bean")
    @Remote
    @Local
    public class AliEJB001Bean implements AliEJB001, AliEJB001Local {
    public AliEJB001Bean() {
    public String Hi(){
    return "Hi000";
    And its Local Interface code is :
    @Local
    public interface AliEJB001Local {
    String Hi();
    I deploy Model project to an EJB Jar file that its name is AliEE1ejb1.jar
    and I deploy the ViewContorller project to a WAR file that its name is AliEE1WebApp.war
    Now I add this tags to web.xml
    <ejb-local-ref>
    <ejb-ref-name>ali/testejb</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local>model.AliEJB001Local</local>
    </ejb-local-ref>
    Then I deploy the Application to an EAR file by name AliEE1
    After those I run my JSP page witch calls the EJB in JDeveloper (through Local EJB Interface) , JDeveloper deploy my Application to the ItegratedWeblogicServer
    Ultimately the JSP can calls the EJB through Local Interface and use the Hi method and shows me the result but JDeveloper while compiles the application give me these Warnings :
    Warning: <May 15, 2011 9:02:52 AM PDT> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile your application. Recompile with the -verbose option for more details. Please see the error message(s) below.>
    Warning: There are 1 nested errors:
    Warning: weblogic.servlet.internal.dd.compliance.ComplianceException: Element "<ejb-local-ref>" with ejb-ref-name "ali/testejb" must either specify a valid ejb-link element or have a corresponding ejb-reference-descriptor element in weblogic.xml with a valid jndi-name.
    Warning:      at weblogic.servlet.internal.dd.compliance.BaseComplianceChecker.addDescriptorError(BaseComplianceChecker.java:74)
    Warning:      at weblogic.servlet.internal.dd.compliance.BaseComplianceChecker.addDescriptorError(BaseComplianceChecker.java:80)
    Warning:      at weblogic.servlet.internal.dd.compliance.EJBRefsComplianceChecker.validate(EJBRefsComplianceChecker.java:97)
    Warning:      at weblogic.servlet.internal.dd.compliance.EJBRefsComplianceChecker.checkEJBLocalRef(EJBRefsComplianceChecker.java:47)
    Warning:      at weblogic.servlet.internal.dd.compliance.EJBRefsComplianceChecker.check(EJBRefsComplianceChecker.java:39)
    Warning:      at weblogic.servlet.internal.dd.compliance.ComplianceUtils.checkCompliance(ComplianceUtils.java:48)
    Warning:      at weblogic.servlet.jsp.JspcInvoker.checkCompliance(JspcInvoker.java:145)
    Warning:      at weblogic.servlet.jsp.JspcInvoker.compile(JspcInvoker.java:198)
    Warning:      at weblogic.application.compiler.AppcUtils.compileWAR(AppcUtils.java:376)
    Warning:      at weblogic.application.compiler.WARModule.compile(WARModule.java:245)
    Warning:      at weblogic.application.compiler.flow.SingleModuleCompileFlow.proecessModule(SingleModuleCompileFlow.java:18)
    Warning:      at weblogic.application.compiler.flow.SingleModuleFlow.compile(SingleModuleFlow.java:36)
    Warning:      at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:69)
    Warning:      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
    Warning:      at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:36)
    Warning:      at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:26)
    Warning:      at weblogic.application.compiler.WARCompiler.compile(WARCompiler.java:29)
    Warning:      at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:112)
    Warning:      at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:37)
    Warning:      at weblogic.application.compiler.Appc.runBody(Appc.java:198)
    Warning:      at weblogic.utils.compiler.Tool.run(Tool.java:158)
    Warning:      at weblogic.utils.compiler.Tool.run(Tool.java:115)
    Warning:      at weblogic.application.compiler.Appc.main(Appc.java:257)
    Warning:      at weblogic.appc.main(appc.java:14)
    According to the warning messages I wanna add <ejb-link> tag to the web.xml for resolving warnings I add the <ejb-link> like this:
    <ejb-local-ref>
    <ejb-ref-name>ali/testejb</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local>model.AliEJB001Local</local>
    <ejb-link>AliEE1ejb1.jar#AliEJB001Bean </ejb-link>
    </ejb-local-ref>
    But when JDeveloper want deploy my application again it shows me this Error
    [09:29:59 AM] Redeploying Application...
    <May 15, 2011 9:29:59 AM PDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1305476999381' for task '7'. Error is: 'weblogic.application.ModuleException: Could not setup environment'
    weblogic.application.ModuleException: Could not setup environment
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1499)
         at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:442)
         at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
         at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
         Truncated. see log file for complete stacktrace
    Caused By: weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'AliEE1ejb1.jar#AliEJB001Bean' declared in the ejb-ref or ejb-local-ref 'ali/testejb' in the application module 'ViewControllerWebApp.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.
         at weblogic.deployment.BaseEnvironmentBuilder.addEJBLinkRef(BaseEnvironmentBuilder.java:464)
         at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:485)
         at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
         at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3117)
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1497)
         Truncated. see log file for complete stacktrace
    >
    <May 15, 2011 9:29:59 AM PDT> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 9 task for the application 'AliEE1'.>
    <May 15, 2011 9:29:59 AM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'AliEE1'.>
    <May 15, 2011 9:29:59 AM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: Could not setup environment
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1499)
         at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:442)
         at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
         at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
         Truncated. see log file for complete stacktrace
    Caused By: weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'AliEE1ejb1.jar#AliEJB001Bean' declared in the ejb-ref or ejb-local-ref 'ali/testejb' in the application module 'ViewControllerWebApp.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.
         at weblogic.deployment.BaseEnvironmentBuilder.addEJBLinkRef(BaseEnvironmentBuilder.java:464)
         at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:485)
         at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
         at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3117)
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1497)
         Truncated. see log file for complete stacktrace
    >
    [09:30:00 AM] #### Deployment incomplete. ####
    [09:30:00 AM] Remote deployment failed
    Do you know how I can solve this issue ?
    thanks

    Thank you so much
    I find out the solution
    I have to define my EJB in ejb-jar.xml like this
    <enterprise-beans>
         <session>
         <ejb-name>ReplicableSFSB2</ejb-name>
         <business-local>model2.AliEJB001Local</business-local>
         <business-remote>model2.AliEJB001</business-remote>
         <ejb-class>model2.AliEJB001Bean</ejb-class>
         <session-type>Stateless</session-type>
         </session>
    </enterprise-beans>
    And then I use the EJB name witch I defined in <ejb-name> tag in <ejb-link> tag of web.xml
    like this
    <ejb-local-ref>
    <ejb-ref-name>ali/testejb2</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local>model2.AliEJB001Local</local>
    <ejb-link>Model2EJB.jar#ReplicableSFSB2</ejb-link>
    </ejb-local-ref>

  • EJB and ASP

     

    Think of XSL and JSP as the X and Y axis. They approach solving an HTML (or
    XML) rendering problem in two different ways. Each has its benefits. When
    the primary input is a known flavor of XML, then XSL is definitely a better
    way to go.
    Cameron Purdy
    Tangosol
    "Argyn Kuketayev" <[email protected]> wrote in message
    news:[email protected]...
    I think the best approach would be to use XML and XSL. I didn't work on itfor
    production, but I'm going to try.
    I would call EJB's from servlet, then put returns in one or more XMLfiles, then
    take XSL and convert to anything, say HTML on the fly and send it back to
    client's browser.
    In this model web designer won't need to care about Java, JavaBeans andJSP tags,
    he will get my XML definition and make a XSL.
    Jason Jonas wrote:
    The best way we have found is:
    /->Database
    Client->Servlet->EJBs-->Legacy Systems
    ^ | \->Etcetera
    \ |
    \---JSP
    All client requests are handled by servlets. Servlets perform the
    brunt of Java work that would otherwise be in your JSP or a bean. The
    servlets, of course, make calls to EJBs. The EJBs carry out all
    business logic (e.g. talking to databases, legacy systems...). The
    servlets then set attributes in the request and forward the request to
    a JSP. The only responsibility the JSP has is presentation. We have
    found this reduces the required Java in a JSP down to a manageable
    subset that, in some cases, the HTML folks can handle. For instance,
    enumerating through a Vector to populate a list box... It doesn't
    always work this way, but most of the time.
    If client requests first hit a JSP, I would certainly encourage you to
    use JavaBeans in an effort to reduce the amount of Java in a JSP to a
    manageable amount.
    Jason
    On Tue, 08 Aug 2000 18:23:13 -0400, Argyn Kuketayev
    <[email protected]> wrote:
    one more option:
    in your JSP call servlets, and they will call EJBs and return java
    beans
    (simple containers like struct in C/C++) with data.
    in this case JSP will be your presentation layer, servlet - controllerand
    EJBs - model. you may prefer to wrap all entity EJB calls in astateless
    session beans, which will implement your business workflow.
    example:
    displayItems.jsp has a form with one text field "name" and a button
    "search".
    when you click a button, it will post a request to ItemListServlet. the
    servlet takes "name" parameter, and calls a ItemHome.findByName(String
    ItemName) method of Item session EJB. then it processes the returning
    Collection, and puts an array with myItems[] into a session andredirects to
    another page ItemList.jsp. now, ItemJsp takes an array and populates atable
    on the screen. here myItems is a simple java class with public fields,like
    C struct.
    in this option, your servlets are kind of dispatchers between jsp andEJBs.
    >>>
    Arda Mirek wrote:
    What is the recommended/proven architecture for accessing
    EJB through JSP (speed / ease of development / maintainability)?
    Is accessing EJBs through JSP a bad idea and is it better to provide
    another layer between the two like JavaBeans (JSP -> JavaBeans ->
    EJB) ?
    >>>>
    Speed and scalibility is very important (as usual :)
    Thanks.
    Arda Mirek

  • Question about EJB and thread safe coding - asking again!

    sorry everyone, no one seems to be interested in helping me on this, so i post it again.
    i have a question about the EJB and thread safe coding. when we build EJBs, do we need to worry about thread safe issue? i know that EJBs are single threaded, and the container manages the thread for us. maybe i am wrong about this. if i wasnot, how can we program the EJB so that two or more instance of EJB are not going to have deadlock problem when accessing data resources. do we need to put syncronization in ours beans, do we even need to worry about creating a thread safe EJB? thanks in advance. the question really bothers me a lot lately.

    sorry everyone, no one seems to be interested in
    helping me on this, so i post it again.Excellent plan. Why not search a little bit on your own instead of waiting for your personal forum slaves to answer your call. See below.
    i have a question about the EJB and thread safe
    coding. when we build EJBs, do we need to worry about
    thread safe issue? Read this: http://forum.java.sun.com/thread.jsp?forum=13&thread=562598&tstart=75&trange=15
    i know that EJBs are single
    threaded, and the container manages the thread for us.
    maybe i am wrong about this. if i wasnot, how can we
    program the EJB so that two or more instance of EJB
    are not going to have deadlock problem when accessing
    data resources. do we need to put syncronization in
    ours beans, do we even need to worry about creating a
    thread safe EJB? thanks in advance. the question
    really bothers me a lot lately.
    Java's Thread Tutorial
    JavaWorld: Introduction to Java threads
    IBM: Introduction to Java threads
    Google: java+threads+tutorial

Maybe you are looking for