Redeployment - EJBs on Classpath
I'm using wls 8.1. I have an EAR in which several EJB are loaded from the system
classpath. After redeployment, these EJB's are not available.
java.rmi.NoSuchObjectException: Bean is already undeployed
I would have expected not to be able to affect any change in such EJBs via redeployment,
but that redeployment would be successful. The console shows that redeployment
for these EJBs is successful (i.e., status: active). Do these classes have to
be off the classpath for redeployment to work properly? Why doesn't the console
report their status correctly? Thanks...
..Brian
Rob Woollen <[email protected]> wrote:
Brian wrote:
Rob Woollen <[email protected]> wrote:
I believe you are right. Unfortunately the calling application isnot really
a client but the security provider. So, I've put everything our realmcode needs
on the server's classpath. I've also tried taking it off the classpathand putting
it in the providers.jar, but no joy. In that case, a ClassCast exceptionis thrown
on the narrow. So, my problem seems to be that I don't know how tohandle the
situation where my login module makes EJB calls. Is there any wayto refresh
the providers.jar?Does your security provider cache the EJB stub? I believe if you
re-lookup the home in JNDI and get a new stub that it should work fine
without refreshing the providers.jar (assuming the new EJB didn't change
the interface.)
Yes, I am (was) caching the stub. Yes, re-looking up the home cures the problem.
Thanks.
-- Rob
Thanks...
..Brian
-- Rob
I would have expected not to be able to affect any change in such
EJBs
via redeployment,
but that redeployment would be successful. The console shows that
redeployment
for these EJBs is successful (i.e., status: active). Do these classeshave to
be off the classpath for redeployment to work properly? Why doesn'tthe console
report their status correctly? Thanks...
..Brian
Similar Messages
-
Weblogic redeploys EJB despite warning
I have my EJB Home and Remote classes in Weblogic's classpath while the EJB Jar (which contains Home , Remote and Bean) in the "applications" directory. When I start up the server , Weblogic deploys the EJB but gives the warning :
<Warning> <EJB> <EJB Deployment: ExampleBean cannot be redeployed while the server is running. ExampleHome is located in the server's classpath.>
However , if I keep the server running and redeploy a new implementation of the EJB , Weblogic is able to pick up the new implementation.
Somehow Weblogic's warning and behaviour do not tally. Can I count on the fact that I can redeploy the EJB even though the Home and Remote is in the classpath ?
I am running Weblogic 6.1 on Win2k.
Thanks.
KeanHi Kean,
You can still redeploy the ejb-jar file but any changes made to your home and remote interfaces will not be reflected in the new deployment if those interfaces exist in the server classpath.
- Matt
Kean wrote:
I have my EJB Home and Remote classes in Weblogic's classpath while the EJB Jar (which contains Home , Remote and Bean) in the "applications" directory. When I start up the server , Weblogic deploys the EJB but gives the warning :
<Warning> <EJB> <EJB Deployment: ExampleBean cannot be redeployed while the server is running. ExampleHome is located in the server's classpath.>
However , if I keep the server running and redeploy a new implementation of the EJB , Weblogic is able to pick up the new implementation.
Somehow Weblogic's warning and behaviour do not tally. Can I count on the fact that I can redeploy the EJB even though the Home and Remote is in the classpath ?
I am running Weblogic 6.1 on Win2k.
Thanks.
Kean -
Redeploying ejb module error?
Hi all,
I have a file called myejb2.jar that I developed in NetBeans 5.5 as a standalone EJB module. I used NetBeans to delpoy/redeploy it on my App Server v9.0. This works well. However, if I use the redeploy option from the Admin console (ejb modules -> click my module's redeploy link -> specify the path to the jar file), then the old module "myejb2" is undeployed, and a new module named "null" appears instead.
How can I make the "redeploy" link work properly?
thanks,Hi all,
I have a file called myejb2.jar that I developed in NetBeans 5.5 as a standalone EJB module. I used NetBeans to delpoy/redeploy it on my App Server v9.0. This works well. However, if I use the redeploy option from the Admin console (ejb modules -> click my module's redeploy link -> specify the path to the jar file), then the old module "myejb2" is undeployed, and a new module named "null" appears instead.
How can I make the "redeploy" link work properly?
thanks, -
Hi!
Is it possible to make the JEE container deploy EJBs in JARs available in the classpath of an EJB module? For example:
common.jar
- /com/mycompany/MyEJB1.class
- /com/mycompany/MyEJB2.class
myejbmodule.jar (references stuff in common.jar)
- /com/mycompany/MyEJB3.class
- /com/mycompany/MyEJB4.class
In this instance, I'd like to include "myejbmodule.jar" as an EJB-module in the app, but I'd like to avoid deploying "common.jar" as an EJB-module. Still, I'd like all EJBs to be deployed. Is this possible? Using JBoss 4.2.2.
Thanks in advance,
NilleCopy the Ejb jar file to the applications dir.
-
Hi,
I have a burning question regarding EJBs and classpaths.
Here is my situation:
- My application uses EJBs, Servlets and JSP pages
- My EJB remote interfaces and implementation classes extend common,
abstract base classes
- My EJB implementation classes use several utility classes, which are
also used by my servlets.
- Each EJB is deployed in a separate JAR file
The question I have is which classes should be included in the EJB JAR
files.
I'd like to put just the EJB implementation class in the EJB JAR, and
put everything else in a common JAR that is placed in my WEB-INF/lib
folder and shared by the rest of the application. However, if I do
that, Weblogic won't load the EJBs because it tries to do so before it
deploys my web app, and hence before it adds the JARs in the
WEB-INF/lib folder to its classpath.
I can explicitly add my jar to the Weblogic classpath on the
commandline (weblogic.class.path property). Now my EJBs load. However,
my servlets become unable to load any classes from any jar in
WEB-INF/lib. I read something about it being a bad idea to include a
jar from WEB-INF/lib in the classpath, so I'm probably seeing that
problem.
The third option is to include all the dependent classes in my EJB
jars themselves, in addition to deploying them in WEB-INF/lib. This
works, but it bothers me that there are multiple copies of the same
class files lying around.
I'm sure I'm not the first developer who's written an EJB that shares
classes with a servlet or JSP page. What's the proper way to do this?
Thanks.Use a ClassPath entry in your EJB jar module MANIFEST.MF file
Mark Cordobal
[email protected] (Frank LaRosa) wrote:
Hi,
I have a burning question regarding EJBs and classpaths.
Here is my situation:
- My application uses EJBs, Servlets and JSP pages
- My EJB remote interfaces and implementation classes extend common,
abstract base classes
- My EJB implementation classes use several utility classes, which are
also used by my servlets.
- Each EJB is deployed in a separate JAR file
The question I have is which classes should be included in the EJB JAR
files.
I'd like to put just the EJB implementation class in the EJB JAR, and
put everything else in a common JAR that is placed in my WEB-INF/lib
folder and shared by the rest of the application. However, if I do
that, Weblogic won't load the EJBs because it tries to do so before it
deploys my web app, and hence before it adds the JARs in the
WEB-INF/lib folder to its classpath.
I can explicitly add my jar to the Weblogic classpath on the
commandline (weblogic.class.path property). Now my EJBs load. However,
my servlets become unable to load any classes from any jar in
WEB-INF/lib. I read something about it being a bad idea to include a
jar from WEB-INF/lib in the classpath, so I'm probably seeing that
problem.
The third option is to include all the dependent classes in my EJB
jars themselves, in addition to deploying them in WEB-INF/lib. This
works, but it bothers me that there are multiple copies of the same
class files lying around.
I'm sure I'm not the first developer who's written an EJB that shares
classes with a servlet or JSP page. What's the proper way to do this?
Thanks. -
Hello Developers!
I deployed my ejb to OAS4081. I call that
from JDeveloper so it good. But when I try
to call from applet in IExpl5 I can't
instantiate the ORB. I've got a com.ms.security.SecurityException : oracle.oas.orb.CORBA.ORB.init
I coded the CLASSPATH(oasoorb(yoj),client,
ejbapi...) perfectly, I think.
If anybody could help, please...
Thanx!Hi there,
I saw someone on this group had a problem to locate proper classpath
to call EJB from JSP. I thought if you call EJB from classpath, you are
calling the bean. But you loss all the EJB functions. To be able to utilize
EJB features like object pooling. You need to call it from Weblogic server
using url/jndi, not from the jar directly.
Any comment? Am I right?
BTW, my question about calling EJB from JSP means calling through URL,
not a local path.
Thank you
>-------------------------------------------------------------------->
Jim wrote in message <[email protected]>...
>Hi there,
> Can I call EJB from JSP? Is there a particular security setting or
>concern for Weblogic? Is there an coding example?
>
>Thank you
>
>
-
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 ZouMuch 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 -
While deploying EJB, OutOfMemory error occurred
While deploying & re-deploying EJB many times(maybe over 100 times), in admin-server, OutOfMemory error occurred.
Actually 7~8 people deployed several EJBs remotely.
After I increased heap memory size to 1G of admin-server, interval was more longer, but anyway OutOfMemory error occurred. I should restart admin-server after that error.
Log message as follows::
=========================================
[18/Sep/2003:12:38:54] INFO ( 9510): ADM1041:Sent the event to instance:[ModuleDeployEvent -- redeploy ejb/rh34]
[18/Sep/2003:12:38:54] WARNING ( 9510): ADM1046:Notification failed
[18/Sep/2003:12:38:57] INFO ( 9510): ADM1058:Restarting the server instance : [rhlfInstance]
[18/Sep/2003:12:46:08] INFO ( 9510): ADM6002:Received remote administration request
[18/Sep/2003:12:46:11] SEVERE ( 9510): CORE4007: Internal error: Unexpected Java exception thrown (unknown exception, no description), stack:
java.lang.OutOfMemoryError
[18/Sep/2003:12:46:27] INFO ( 9510): ADM6002:Received remote administration request
[18/Sep/2003:12:49:58] INFO ( 9510): ADM6002:Received remote administration request
[18/Sep/2003:12:52:18] INFO ( 9510): ADM6002:Received remote administration request
[18/Sep/2003:12:52:18] SEVERE ( 9510): StandardWrapperValve[AdminAPIEntryServlet]: Servlet.service() for servlet AdminAPIEntryServlet threw exception
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:742)
at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
----- Root Cause -----
java.lang.OutOfMemoryErrorRepeated changes applied to any instance eventually results in an out of memory error.
The Admin Server keeps a record of all changes performed to the system, which requires memory. This change record (but not the changes themselves) is discarded during a reconfiguration, thus releasing the memory for use.
Use the asadmin reconfig command periodically to discard old change records which was being kept in memory. -
XDoclet and ejb-jar.xml - No Entity tags?
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="XDoclet" default="ejbdoclet">
<property file="build.properties"/>
<target name="init">
<property name="dir" value="G:\JAVA Tools"/>
<property name="lib.dir" value="lib"/>
<!-- library/jar path -->
<property name="xdoclet.jar.path" value="${dir}\XDoclet\lib\xdoclet.jar"/>
<property name="log4j.jar.path" value="${dir}\XDoclet\samples\lib\log4j.jar"/>
<property name="ant.jar.path" value="${dir}\ANT\lib\ant.jar"/>
<property name="src.dir" value="src"/>
<property name="generated.src.dir" value="XDoclet/gen-src-code"/>
<property name="web.dir" value="${src.dir}/web"/>
<property name="generated.java.dir" value="${generated.src.dir}/java"/>
<property name="config.dir" value="config"/>
<property name="build.dir" value="XDoclet/build"/>
<property name="dist.dir" value="XDoclet/dist"/>
<property name="build.compiler" value="modern"/>
<path id="project.class.path">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
</fileset>
<!-- append the external classpath lastly -->
<pathelement path="${java.class.path};${log4j.jar.path}"/>
</path>
</target>
<!-- Prepare -->
<target name="prepare" depends="init">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/ejb"/>
<mkdir dir="${build.dir}/ejb/META-INF"/>
<mkdir dir="${build.dir}/web"/>
<mkdir dir="${build.dir}/web/WEB-INF"/>
<mkdir dir="${build.dir}/web/WEB-INF/tlds"/>
<mkdir dir="${build.dir}/web/WEB-INF/classes"/>
<mkdir dir="${build.dir}/j2ee"/>
<mkdir dir="${build.dir}/j2ee/META-INF"/>
<mkdir dir="${build.dir}/jmx"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${generated.src.dir}"/>
<mkdir dir="${generated.java.dir}"/>
<echo message="XDoclet Path = ${xdoclet.jar.path}"/>
<echo message="Log4J Path = ${log4j.jar.path}"/>
<echo message="Ant Path = ${ant.jar.path}"/>
<echo message="ClassPath = ${java.class.path}"/>
<property name="cp" refid="project.class.path"/>
<echo message="CLASSPATH/REF ID:${cp}"/>
<echo message="base dir = ${basedir}/${src.dir}"/>
</target>
<target name="delete" >
<echo message = "Deleting directories"/>
<delete dir="${build.dir}"/>
<delete dir="${build.dir}/ejb"/>
<delete dir="${build.dir}/ejb/META-INF"/>
<delete dir="${build.dir}/web"/>
<delete dir="${build.dir}/web/WEB-INF"/>
<delete dir="${build.dir}/web/WEB-INF/tlds"/>
<delete dir="${build.dir}/web/WEB-INF/classes"/>
<delete dir="${build.dir}/j2ee"/>
<delete dir="${build.dir}/j2ee/META-INF"/>
<delete dir="${build.dir}/jmx"/>
<delete dir="${dist.dir}"/>
<delete dir="${generated.src.dir}"/>
<delete dir="${generated.java.dir}"/>
</target>
<!-- Run EJBDoclet -->
<target name="ejbdoclet" depends="prepare">
<taskdef name="ejbdoclet"
classname="xdoclet.ejb.EjbDocletTask"
classpath="${java.class.path};${log4j.jar.path};${ant.jar.path};${xdoclet.jar.path} "/>
<ejbdoclet sourcepath="${src.dir}"
destdir="${generated.java.dir}"
classpathref="project.class.path"
excludedtags="@version,@author"
ejbspec="2.0"
>
<fileset dir="${src.dir}">
<include name="**/*EJB.java"/>
</fileset>
<dataobject/>
<!-- <localinterface/>
<localhomeinterface/> -->
<remoteinterface/>
<homeinterface/>
<entitypk/>
<!-- <entitycmp/> -->
<deploymentdescriptor destdir="${build.dir}/ejb/META-INF" validatexml="true"/>
<jboss version="2.4" xmlencoding="UTF-8" validatexml="true" typemapping="Hypersonic
SQL" datasource="java:/DefaultDS" destdir="${build.dir}/ejb/META-INF"/>
<!--
<weblogic xmlencoding="UTF-8" destdir="${build.dir}/ejb/META-INF" validatexml="true"/>
<webSphere destdir="${build.dir}/ejb/META-INF" />
<orion/>
<apachesoap destdir="${build.dir}/web"/>
-->
<!--
Have struts form objects generated based on entity beans'
data objects. Will require struts.jar to compile.
<strutsform />
-->
</ejbdoclet>
</target>
</project>
My Session Bean:
package com.uniserv.comn.controller.ejb.session.terminalfacade;
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
import javax.ejb.*;
import java.util.*;
import com.uniserv.comn.util.*;
import com.uniserv.comn.model.*;
import com.uniserv.comn.controller.ejb.entity.tenderconfig.*;
public class TerminalSessionFacadeEJB implements SessionBean {
private SessionContext ctx = null;
private ServiceLocator serviceLocator = null;
public TerminalSessionFacadeEJB() throws ServiceLocatorException {
try {
serviceLocator = ServiceLocator.getInstance();
} catch (Exception e) {
System.out.println("TerminalSessionFacade Exception : " + e.getMessage());
* Adds an tenderConfig record
* @param tenderConfigVO TenderConfig's Value Object
* @return boolean true if successful, false if not
public boolean addTenderConfig(TenderConfigVO tenderConfigVO) {
System.out.println("TerminalSessionFacadeEJB.addTenderConfig - START");
boolean blnRet = false;
try {
LocalTenderConfigHome home = (LocalTenderConfigHome)
serviceLocator.getLocalHome(ServiceLocator.Services.TENDERCONFIG);
LocalTenderConfig local = null;
try {
TenderConfigPK pk
= new TenderConfigPK(tenderConfigVO.getTndrID(), tenderConfigVO.getTndrCfgName());
local = home.findByPrimaryKey(pk);
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
if (local == null) {
home.create(tenderConfigVO);
blnRet = true;
} else {
blnRet = false;
} catch (Exception e) {
System.out.println("Error in TerminalSessionFacadeEJB.addTenderConfig "
+ "method (Exception) : "
+ e.getMessage());
} finally {
System.out.println("Returned value : " + blnRet);
System.out.println("TerminalSessionFacadeEJB.addTenderConfig - END");
return blnRet;
public void setSessionContext(SessionContext parm1) throws javax.ejb.EJBException, java.rmi.RemoteException {
this.ctx = parm1;
public void ejbRemove() throws javax.ejb.EJBException, java.rmi.RemoteException
public void ejbActivate() throws javax.ejb.EJBException, java.rmi.RemoteException
public void ejbPassivate() throws javax.ejb.EJBException, java.rmi.RemoteException
public void ejbCreate() throws javax.ejb.EJBException
My Entity Bean:
package com.uniserv.comn.controller.ejb.entity.tenderconfig;
* @ejb.bean
* type="CMP"
* cmp-version="2.x"
* name="TenderConfigEJB"
* schema="TenderConfig"
* view-type="local"
import javax.ejb.*;
import com.uniserv.comn.model.*;
public abstract class TenderConfigEJB implements EntityBean{
private EntityContext ctx = null;
* @ejb.pk
public abstract int getTndrID();
public abstract void setTndrID(int iTndrID);
* @ejb.pk
public abstract String getTndrCfgName();
public abstract void setTndrCfgName(String strTndrCfgName);
public abstract int getTndrType();
public abstract void setTndrType(int iTndrType);
public abstract String getTndrCfgValue();
public abstract void setTndrCfgValue(String strTndrCfgValue);
public abstract String getTndrCfgDataType();
public abstract void setTndrCfgDataType(String strTndrCfgDataType);
public abstract String getTndrCfgDesc();
public abstract void setTndrCfgDesc(String strTndrCfgDesc);
public TenderConfigVO getTenderConfigVO() {
TenderConfigVO tenderConfigVO = new TenderConfigVO();
tenderConfigVO.setTndrID(this.getTndrID());
tenderConfigVO.setTndrCfgName(this.getTndrCfgName());
tenderConfigVO.setTndrType(this.getTndrType());
tenderConfigVO.setTndrCfgValue(this.getTndrCfgValue());
tenderConfigVO.setTndrCfgDataType(this.getTndrCfgDataType());
tenderConfigVO.setTndrCfgDesc(this.getTndrCfgDesc());
return tenderConfigVO;
public void setTenderConfigVO(TenderConfigVO tenderConfigVO) {
this.setTndrID(tenderConfigVO.getTndrID());
this.setTndrCfgName(tenderConfigVO.getTndrCfgName());
this.setTndrType(tenderConfigVO.getTndrType());
this.setTndrCfgValue(tenderConfigVO.getTndrCfgValue());
this.setTndrCfgDataType(tenderConfigVO.getTndrCfgDataType());
this.setTndrCfgDesc(tenderConfigVO.getTndrCfgDesc());
* Constructor
public TenderConfigEJB() {
* ejbCreate callback method
* @return int
public TenderConfigPK ejbCreate(TenderConfigVO tenderConfigVO)
throws CreateException {
this.setTenderConfigVO(tenderConfigVO);
return null;
* ejbPostCreate
* @param TerminalConfigTypeVO
public void ejbPostCreate(TenderConfigVO tenderConfigVO) {
* setEntityContext callback method
public void setEntityContext(EntityContext ctx) {
this.ctx = ctx;
* unsetEntityContext callback method
public void unsetEntityContext() {
this.ctx = null;
* ejbActivate callback method
public void ejbActivate() {
* ejbPassivate callback method
public void ejbPassivate() {
* ejbLoad callback method
public void ejbLoad() {
* ejbRemove callback method
public void ejbRemove() {
* ejbStore callback method
public void ejbStore() {
But the generated ejb-jar.xml only contains
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<description>No Description.</description>
<display-name>Generated by XDoclet</display-name>
<enterprise-beans>
<!-- Session Beans -->
<session>
<description><![CDATA[No Description.]]></description>
<ejb-name>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacade</ejb-name>
<home>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacadeHome</home>
<remote>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacade</remote>
<ejb-class>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacadeEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
<!--
To add session beans that you have deployment descriptor info for, add
a file to your merge directory called session-beans.xml that contains
the <session></session> markup for those beans.
-->
<!-- Entity Beans -->
<!--
To add entity beans that you have deployment descriptor info for, add
a file to your merge directory called entity-beans.xml that contains
the <entity></entity> markup for those beans.
-->
<!-- Message Driven Beans -->
<!--
To add message driven beans that you have deployment descriptor info for, add
a file to your merge directory called message-driven-beans.xml that contains
the <message-driven></message-driven> markup for those beans.
-->
</enterprise-beans>
<!-- Relationships -->
<!-- Assembly Descriptor -->
<assembly-descriptor>
<!-- finder permissions -->
<!-- transactions -->
<!-- finder transactions -->
</assembly-descriptor>
</ejb-jar>
this ejb-jar.xml only contains entries for session beans? where did the entries for entity beans went?Ive written XDoclet tags for the Entity Bean as what ive posted above....help!!!you comment the generation of CMP entity beans out :
build.xml:
replace
<!-- <entitycmp/> -->
with
<entitycmp/>i've already removed the comments of the tag <entitycmp> and yet the resulting ejb-jar.xml contains no <entity> tags....i'm just wondering how can i include the generation of entity tags (not only session tags) in the resulting ejb-jar.xml
<ejb-jar>
<description>No Description.</description>
<display-name>Generated by XDoclet</display-name>
<enterprise-beans>
<!-- Session Beans -->
<session>
<description><![CDATA[No Description.]]></description>
<ejb-name>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacade</ejb-name>
<home>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacadeHome</home>
<remote>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacade</remote>
<ejb-class>com.uniserv.comn.controller.ejb.session.terminalfacade.TerminalSessionFacadeEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
<!--
To add session beans that you have deployment descriptor info for, add
a file to your merge directory called session-beans.xml that contains
the <session></session> markup for those beans.
-->
<!-- Entity Beans -->
<!--
To add entity beans that you have deployment descriptor info for, add
a file to your merge directory called entity-beans.xml that contains
the <entity></entity> markup for those beans.
-->
<!-- Message Driven Beans -->
<!--
To add message driven beans that you have deployment descriptor info for, add
a file to your merge directory called message-driven-beans.xml that contains
the <message-driven></message-driven> markup for those beans.
-->
</enterprise-beans>
<!-- Relationships -->
<!-- Assembly Descriptor -->
<assembly-descriptor>
<!-- finder permissions -->
<!-- transactions -->
<!-- finder transactions -->
</assembly-descriptor>
</ejb-jar> -
Can you reload web application from the Weblogic console?
Good day, eh!
Can you reload all your jsp/servlet classes of your
web application from the Weblogic console?
A one big button labeled 'Reload application' would be very
good property in Weblogic
Thanks for Your answers
- hoser
Hi,
I agree it is a much needed feature. Suppose I just change an init
param of one application in the web.xml, I don't want to take down the
15 other webapps running on my server just to be able to have that web
app restart and re-read is configuration. Of course, I could program
some servlet that allows changing application attributes and to enable
restarting, but really this a)does not cover all the cases (i.e. addind
an EBJ reference binding to web.xml) b) should be provided by the app
server, not programmed by every little programmer again & again.
Mathieu
Jeff Nowakowski wrote:
>
> The URL you give refers to redeploying EJBs, not web applications. Being
> able to redeploy a web application would be a very convenient feature.
>
> -Jeff
>
> Gene Chuang <[email protected]> wrote in message news:[email protected]...
> > Button is already there!
> >
> > http://www.weblogic.com/docs51/techdeploy/hotdeploy.html#consoledeployejb
> >
> > Gene
> >
> > "hoser" <[email protected]> wrote in message
> > news:[email protected]...
> > >
> > > Good day, eh!
> > >
> > > Can you reload all your jsp/servlet classes of your
> > > web application from the Weblogic console?
> > >
> > > A one big button labeled 'Reload application' would be very
> > > good property in Weblogic
> > >
> > > Thanks for Your answers
> > >
> > > - hoser
> >
> >
-
Jserv.properties crash APACHE
Hi:
After several tests i denoted that THIS SPECIFIC ENTRY IN jserv.properties crash the jserv :
wrapper.classpath=D:\ORACLE\iSuites\panama\lib\panama.zip
this entry it's in jserv.properties and crash the jserv and i get this error on apache error_log:
[Thu May 02 15:39:29 2002] [warn] OPM: EW: Process proteus.adm.ipb.pt:2364 (pid:1980) died, restarting.
[Thu May 02 15:39:34 2002] [error] OPM: EW: Fails to ping process with pid:2260.
... repeated fails
I have:
windows 2000 server
oracle 9i DB NT
oracle 9ias 1.0.2.2.2a
i've patched oracle 9ias with oracle 9i rdbms patch 8.1.7.3
i've patched oracle 9ias portal with patch 3.0.9.8.2
i've followed instructions in A86701 step by step to configure wireless
Anyone HERE HELP ??* Please check if you've set all the zip files for the panama environment
* Check jdk installation (reinstall it if you are unsure about the installation) and configure it in your system environment.
* also check your system environment for the panama dir and the wireless installation.
* Check if the following lines are in the jsev.properties file:
wrapper.classpath=C:\jdk131\lib\dt.jar
wrapper.classpath=C:\jdk131\lib\tools.jar
wrapper.classpath=C:\jdk131\jre\lib\rt.jar
# wrapper.classpath=C:\ORACLE\iSuites\Apache\jdk\jre\lib\rt.jar
# wrapper.classpath=C:\ORACLE\iSuites\Apache\jdk\lib\tools.jar
wrapper.classpath=C:\ORACLE\iSuites\Apache\Jserv\ApacheJServ.jar
wrapper.classpath=C:\ORACLE\iSuites\Apache\Jserv\dms2Server.jar
wrapper.classpath=C:\ORACLE\iSuites\Apache\Jsdk\lib\jsdk.jar
# The following classpath entries are required to run ASWE (added by TW 25 10 01)
wrapper.classpath=C:\Oracle\iSuites\panama\server\classes
wrapper.classpath=C:\Oracle\iSuites\panama\lib\caboshare-opt.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\classes12.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\client.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\jewt-opt-4_0_14.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\marlin-opt.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\ocelot-opt.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\panama.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\panama_core.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\panama_papz.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\panama_portal.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\ojsp.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\servlet.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\jndi.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\xmlparserv2.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\server.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\share-opt-1_1_7.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\tecate-opt.zip
wrapper.classpath=C:\Oracle\iSuites\panama\lib\sax2.jar
# The following classpath entries were added to run Mail directory (added by TW 07 11 01)
wrapper.classpath=C:\Oracle\iSuites\panama\lib\activation.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\ldap.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\ldapbp.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\mail.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\ompim.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\pop3.jar
wrapper.classpath=C:\Oracle\iSuites\panama\lib\providerutil.jar
# The following classpath entries are required to run EJBs
wrapper.classpath=C:\ORACLE\iSuites\lib\aurora_client.jar
wrapper.classpath=C:\ORACLE\iSuites\lib\vbjorb.jar
wrapper.classpath=C:\ORACLE\iSuites\lib\vbjapp.jar
# An environment name with value passed to the JVM
# Syntax: wrapper.env=[name]=[value] (String)
# Default: NONE on Unix Systems
# SystemDrive and SystemRoot with appropriate values on Win32 systems
wrapper.env=PATH=C:\ORACLE\iSuites\bin -
We have Weblogic 8.1 SP2. The application has several entity beans. I just upgraded it from SP2 to SP3 and when I try to use these ejb's I am getting the following exception:
Root cause of ServletException.
java.lang.NoSuchMethodError: weblogic.ejb20.internal.EntityEJBObject_Activatable.preInvoke(Lweblogic/ejb20/
internal/MethodDescriptor;Lweblogic/security/service/ContextHandler;)Lweblogic/ejb20/interfaces/InvocationWrapper;
Note that these ejb's worked fine in SP2.
Now, just to test, I redeployed some of these ejb's and then these redeployed ejb's worked fine.
My question is, is it required to redeploy all ejb's to upgrade from SP2 to SP3?
Thanks.redeploying the beans had the upgraded server recompile them which (probably), updated any internal references to methods. I don't quite understand one can run the beans that were compiled on SP2, on an upgraded SP3 server without having deployed (and therefore recompiled) them on the upgraded SP3 server.
-
No name found Exception when running entity client program?
Hi
I am deployed an bean managed Entity bean successfully. And also i created one table in SQL . I am usung weblogic server 8.1 . while running Bean managed entity bean client program it throws no name found exception.please guide me how to run a entity client program. i configured JDBC driver for SQL successfully.
Regards
Priya.MHi Priya,
Before running the ejb client we need to follow the steps as given below.
1)set the weblogic environment using the setWLSEnv
2)set the classpath for ejb(home,remote and bean).
3)run the client program
Note:To set the classpath for the ejb(suppose if we placed the ejb's in ejb folder)
set classpath=d:\ejb;.; %classpath%
Regards
Anilkumar kari -
Have anyone made a wsgen task in a build.xml file for use with an original Ant-distribution?
(not using org.apache.tools.ant.Main located in weblogic.jar)
I get a non-informing build error when running the wsgen-task. (The ejbc-task
completes successfully).
java.lang.NoSuchMethodError
at weblogic.apache.xerces.jaxp.DocumentBuilderImpl.<init>(DocumentBuilderImpl.java:136)
at weblogic.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumen...bla
bla...
(Project.java:510)
at org.apache.tools.ant.Main.runBuild(Main.java:421)
at org.apache.tools.ant.Main.main(Main.java:149)
If anyone could tell me what to do - that would really make my day(!)
Regards,
Henning StorhaugThere is a little bit of situation using taskdef and a classpath from inside
a build.xml. The problem is that ant creates a custom classloader (which
loads classes the same way ant finds files, ie. replacing /->\, :->;, using
the correct basedir, etc. etc.). Ant uses this classloader to load the class
implementing the task.
Mainly this creates two problems:
- This classloader does not 100% implement the correct protocol of a
classloader, especially when it comes to finding resources. (no disrespect
intended, ant is a great tool!)
- Many classes in Weblogic is not really used to being loaded from a
classloader and doesn't behave very well. (for example: using the
system-classloader directly, assuming that they are located at the
java.system.classpath etc. etc)
This makes it almost impossible to use any weblogic-tasks without loading
weblogic-classes from the system-classpath. And that is why the "trick of
the external build.xml" works, because antcall starts the new ant with a
system-classpath including weblogic.jar.
Don't really now what the best solution to this is. I think that BEA has to
be better writing code that behaves nicer to custom classloaders, and I
think the ant team needs to fix their class-loader a little better.
(especially in respect to resources)
In the meantime use the "external build.xml"-trick or use the ant included
with weblogic.
"Chris" <[email protected]> wrote in message
news:[email protected]...
>
We are actually using Ant 1.4 with Weblogic 6.1 and the wsgen tasksuccessfully..
although I haven't tested myself , I was told that there might be problemsif
the wsgen task is run from the same build.xml file (which might be thereason
for your problem as well)... so what I have done is created a second buildxml
file that includes the wsgen task (and some staging tasks) and I call itfrom
my main build.xml (using antcall).
A couple of things to note is that you have to make sure that you put antin front
of the weblogic.jar in the classpath.. Additionally (and you were rightabout
this) you have to use the taskdef to define the wsgen task as ant will notfind
it by itself..
Here is a sample of the wsgen task I use.
<wsgendestpath="${dir.dsn-build}/webservices_staging/${module.name.Report}WS.ear"
>
context="/${module.name.Report}"
host="localhost"
port="8081"
protocol="http"
webapp="${module.name.Report}-web-services.war">
<rpcservices path="${dir.ear_staging}/ReportEntryEJB.jar">
<rpcservice bean="ReportEntry" uri="/${module.name.Report}uri"/>
</rpcservices>
</wsgen>
"Simon Spruzen" <[email protected]> wrote:
I tried this, and defined a taskdef to allow standalone ant to locate
the WLS ant
wsgen task:
<!-- wsgen - build web services -->
<taskdef name="wsgen" classname="weblogic.ant.taskdefs.ejb.WSGen">
<classpath refid="bea.class.path"/>
</taskdef>
bea.class.path was defined to ensure that weblogic.jar came first.
However, I got a curious error when running wsgen target - can't
remember,
and
don't have, the full details - but it involved a message along the lines
of something
"...violating loader constraints...".
So I just gave up and used the version of Ant that ships with WLS 6.1,
and it
works and I am happy and content.
(But you're stuffed if you want to move to ant 1.4)
"Henning Storhaug" <[email protected]> wrote:
To be a bit more specific:
The wsgen ant-task runs when using the ant-distribution within
weblogic.jar,
but
not using the jakarta-ant-1.3 distribution. I've checked the versions,
and they
are the same.
If you need more info, please ask. -
Client program not compiling?
Hi
I am using Weblogic server 8.1 for EJB applications.
I deployed simple session ejb program,i successfully deployed ,but client program not compiling it doesn't take home and remote interface.
How to set classpath for client program,before compiling a client.
for example i had client in this dir
D:\ejb\
ejbclient.jar
client.java
byeHi,
Before running the ejb client we need to follow the steps as given below.
1)set the weblogic environment using the setWLSEnv
2)set the classpath for ejb(home,remote and bean).
3)run the client program
Note:To set the classpath for the ejb
set classpath=d:\ejb;.; %classpath%
Regards
Anilkumar kari
Maybe you are looking for
-
[iPhone] How to POST url in safari
Hi! I want my app to open url in Safari and to login. I know how to just open URL: UIApplication *app = [UIApplication sharedApplication]; [app openURL:[[NSURL alloc] initWithString:@"http://www.somedomain.net"]]; But there is a login form on that si
-
Changing a fields type after validation
I am having an issue with trying to figure out how to change a fields type (i.e. User Entered - Required) after I validate a test sheet that the user filled out. It is basically an interactive answer sheet that grades itself when the user is finished
-
EAS 11.1.2 Services not connecting to Essbase 11.1.2
Hi Could you advice on what services are needed only on server2 to enable EAS 11.1.2 to connect to server1, and access Essbase data.. Here is the setup Server1 windows server 2008 R2 x64 Eas is installed "and working when conneted to Server1" Essabse
-
Xserve unlocked but still not recognizing usb peripherals
I have an Xserve which does not recognize any usb attached peripherals, even though it is unlocked from the front panel. In addition the PC monitor is also not recognizing it, and get no video output on it. Has anyone else experienced the same issue?
-
Existing STMS configuration and CHARM setup
Experts: We have a pretty complicated STMS configuration because of many clients from ECC DEV, QA and one production client. Now we want to set up CHARM. Can we use the current STMS configuration without making any change on STMS for this CHARM pro