Undeploying bean in weblogic6
hi ,
I dont know how to undeploy a bean from web logic 6. If i remove teh check in
the weblogic console it is undeployed but still there in the application folder.
Also it tries to deploy at restart .... Any help is much appreciated..
regards,
srini
Undeploying a webapp or ejb does not physically remove the application
from WebLogic Server.
Undeploying an EJB does not remove the associated deployment name,
because you may later re-use that name to deploy the bean.
In 6.1, there's an option called "delete this webapp or ejb" which will
undeploy and physically remove the deployment from the apps directory.
BTW, apps dir is used for development purposes only. If you want
the WLS not to deploy the applications upon startup, you better
deploy them outside of applications directory.
Kumar
srinivasan wrote:
hi ,
I dont know how to undeploy a bean from web logic 6. If i remove teh check in
the weblogic console it is undeployed but still there in the application folder.
Also it tries to deploy at restart .... Any help is much appreciated..
regards,
srini
Similar Messages
-
Unable to deploy stateful session bean in weblogic6.1
Hi there, I am trying to deploy an OrderSession.jar into weblogic6.1 sp 5. But it keeps throwing errors whenever I install the jar file. Following is the error message received. Can someone help me what causes this problem and how to solve it? Thanks!!
I have copied part of the error messages as it is too long. Hope the message helps. There are 3 sections of it.
Part 1:
========
java.lang.ClassNotFoundException: com.apps.ecommerce.OrderSessionBean_oe1mpm_HomeImpl
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:185)
at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
Part 2:
========
--------------- nested within: ------------------
weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - with nested exception:
[java.lang.ClassNotFoundException: com.apps.ecommerce.OrderSessionBean_oe1mpm_HomeImpl]
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.getHomeClass(ClientDrivenBeanInfoImpl.java:357)
Part 3:
========
<Sep 12, 2003 11:54:22 AM SGT> <Error> <J2EE> <Error deploying application OrderSession:
Unable to deploy EJB: Ecommerce.OrderSessionHome from OrderSession.jar:
java.lang.ClassNotFoundException: com.apps.ecommerce.OrderSessionBean_oe1mpm_HomeImpl
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:185)
at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at weblogic.ejb20.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.java:307)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.getHomeClass(ClientDrivenBeanInfoImpl.java:352)
at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.deploy(ClientDrivenBeanInfoImpl.java:796)
at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1304)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:1010)Try unpacking the jar using a compression tool like winzip or any other tool and just check if extracted classes files are in the same package hirerachy as u have coded if not that is would be the problem
-
Exception - Deploying CMP bean with Postgres DB
Hi,
When I deploy a CMP bean in Weblogic6.1 configured with Postgres Database it throws the following exception.
<Oct 22, 2002 5:55:10 PM IST> <Error> <J2EE> <Error deploying application EjbTes
t:
Unable to deploy EJB: EjbTest.jar from EjbTest.jar:
Exception: 'java.lang.NullPointerException' while trying to invoke: setB
eanParamsForCreate at line 25
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:302)
at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:684)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:851)
<Oct 22, 2002 5:55:10 PM IST> <Error> <Management> <Error deploying application
.\config\siptech\applications\EjbTest.jar: java.lang.reflect.UndeclaredThrowable
Exception>
Thankx,
JaganHi. This isn't a jdbc question, so you'll have better luck posting this to the ejb group.
Joe
Jagan wrote:
Hi,
When I deploy a CMP bean in Weblogic6.1 configured with Postgres Database it throws the following exception.
<Oct 22, 2002 5:55:10 PM IST> <Error> <J2EE> <Error deploying application EjbTes
t:
Unable to deploy EJB: EjbTest.jar from EjbTest.jar:
Exception: 'java.lang.NullPointerException' while trying to invoke: setB
eanParamsForCreate at line 25
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:302)
at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:684)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:851)
<Oct 22, 2002 5:55:10 PM IST> <Error> <Management> <Error deploying application
.\config\siptech\applications\EjbTest.jar: java.lang.reflect.UndeclaredThrowable
Exception>
Thankx,
Jagan -
Can CMT Session Bean call BMP Entity Bean in WebLogic 6.0?
Hi
Does anybody successfully use CMT Session Bean calling BMP +CMT Entity bean in
WebLogic6.0? I have the following problem.
Any idea will be appreciated.
--Winston
Let's say we have a Session bean SB, it uses container to manage the transaction.
A method of SB will call an Entity Bean EB which adopts bean-managed persistence.
Both SB and EB use CMT and all of their methods use "required" in the descriptor
file.
1. If the connection con.getAutoCommit() is true in the EB, then the transaction
within SB cannot be rolled back as the ejbCreate() has already commit into the
database.
2. On the other hand if Connecton of EB con.getAutoCommit() is false, then container
cannot successfully commit the transaction from SB's method, as EjbCreate and
EjbStore() in EB are likely using the different database connections, which causes
EbjStore() fail and the following error message will be sent to the Console:
============================================================
"<Jul 9, 2001 4:16:48 PM PDT> <Error> <EJB> <Exception during commit of transacti
on transaction=(IdHash=7738920,Name = [EJB TraderBeanImpl.buy()],Xid=105:5e6719a
ded42e332,Status=Rolled back. [Reason = weblogic.utils.NestedRuntimeException:
E
rror writing from beforeCompletion - with nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityE
xception: ejbStore: AccountBean (4003) not updated]],numRepliesOwedMe=0,numRepli
esOwedOthers=0,seconds since begin=0,seconds left=30,SCInfo[examplesServer]=(sta
te=rolledback),properties=({weblogic.transaction.name=[EJB TraderBeanImpl.buy()]
})): java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEnt
ityException: ejbStore: AccountBean (4003) not updated
at weblogic.ejb20.internal.EJBRuntimeUtils.throwRemoteException(EJBRunti
meUtils.java:57)
at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java:364)
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManag
er.java:211)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(Serv
erSCInfo.java:511)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Se
rverSCInfo.java:78)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAn
dChain(ServerTransactionImpl.java:893)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(
ServerTransactionImpl.java:1229)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:168)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
01)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl.buy(TraderBeanEOI
mpl.java:37)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl_WLSkel.invoke(Tra
derBeanEOImpl_WLSkel.java:76)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestH
andler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.utils.NestedRuntimeException: Error writing from beforeCompletion - wit
h nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityE
xception: ejbStore: AccountBean (4003) not updated]
at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManag
er.java:220)
at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(Serv
erSCInfo.java:511)
at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(Se
rverSCInfo.java:78)
at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAn
dChain(ServerTransactionImpl.java:893)
at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(
ServerTransactionImpl.java:1229)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:168)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
01)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl.buy(TraderBeanEOI
mpl.java:37)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl_WLSkel.invoke(Tra
derBeanEOImpl_WLSkel.java:76)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestH
andler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion
: sync = weblogic.ejb20.internal.TxManager$TxListener@356eb0
Error writing from beforeCompletion - with nested exception:
[weblogic.utils.NestedRuntimeException: Error writing from beforeCompletion -
wi
th nested exception:
[java.rmi.NoSuchObjectException: Exception from ejbStore:javax.ejb.NoSuchEntityE
xception: ejbStore: AccountBean (4003) not updated]]
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
TransactionImpl.java:1261)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
sactionImpl.java:218)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:2
01)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl.buy(TraderBeanEOI
mpl.java:37)
at examples.ejb.basic.statefulSession.TraderBeanEOImpl_WLSkel.invoke(Tra
derBeanEOImpl_WLSkel.java:76)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:373)
at weblogic.rmi.internal.BasicServerAdapter.invoke(BasicServerAdapter.ja
va:237)
at weblogic.rmi.internal.BasicRequestHandler.handleRequest(BasicRequestH
andler.java:118)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
.java:17)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>"
We did receive a 4.5.1 / 5.1 interoperability patch - but it wasn't quite 'seamless'.
We never tried to use it.
SOAP? Isn't that around 50 times slower than RMI?
Mike
"Gary Mui" <[email protected]> wrote:
We ran into this issue last fall and got some feedback from weblogic
support. They originally said that it could be done (as well as different
versions talking to one another via JMS) but it turned out that they
were
incorrect and ended up saying that it is not possible. Before 6.0 went
GA,
BEA said that there would be a interoperability patch to do this, but
I've
never seen nor heard of anything regarding it. As a workaround, we
implemented 4.5.1 / 6.0 communication via SOAP.
Mike Reiche wrote in message <3b1bcaec$[email protected]>...
I have the same question - and more. Last year we were told that wecould
not use
RMI (and ejbs) between 4.5.1 and 5.1. Which seems kinda weird becauseI've
heard
of people using WL ejbs from Tomcat. This issue has caused us to avoidusing
WL ejbs in any future development which has any chance of ever beingused
by any
app server (WL included) that is not under the direct control of thedata
center.
I've been trying to convince the Architecture team here that we canuse WL
EJBs
and we can call them from other app servers - but can't seem to getany
supporting
statement from BEA (maybe I haven't tried hard enough).
Anyway, a response from BEA would be appreciated.
- Mike
"Madhu K" <[email protected]> wrote:
Is it possible to call a (stateless session) bean deployed in weblogic
6.0
from a bean in weblogic 5.1? I have two versions of weblogic running
on two
different hosts and I have to call a bean that is running in 6.0 from
5.1.
Are there any limitations?
Appreciate any feedback/suggestions.
Thanks,
Madhu -
Session Bean calling entity bean
Hi
How does session bean calls entity bean in weblogic6.1
Thankshave a look in the examples that come with weblogic
"Anand" <[email protected]> wrote in message
news:[email protected]..
>
>
Hi
How does session bean calls entity bean in weblogic6.1
Thanks -
I want to deploy a CMP Entity Bean in weblogic6.1SP2,but I meet an error,what should I do to solve the problem?
the error code:
<2003-4-7 ~{OBNg~}02~{J1~}27~{7V~}24~{Ck~}> <Error> <J2EE> <Error deploying application SVC:
Unable to deploy EJB: CMPSvc from SVC.jar:
The Container-Managed Persistence Entity EJB failed while creating its SQL Type
Map. The error was:
Io ~{Rl3#~}: Connection reset by peer: socket write error
and my original code:
SVC.java(remote interface)
package CMPEntityBean;
import javax.ejb.*;
import java.rmi.RemoteException;
public interface SVC extends EJBObject
public java.lang.String getSvcID() throws RemoteException;
public java.lang.String getSvcName() throws RemoteException;
public void setSvcID(java.lang.String svcID) throws RemoteException;
public void setSvcName(java.lang.String svcName) throws RemoteException;
SVCHome.java (home interface file)
package CMPEntityBean;
import javax.ejb.*;
import java.rmi.RemoteException;
import java.util.Collection;
public interface SVCHome extends EJBHome
public SVC create(java.lang.String svcID,java.lang.String svcName) throws CreateException,RemoteException;
public SVC findByPrimaryKey(CMPEntityBean.SVCPK key) throws FinderException,RemoteException;
public Collection findBySvcName(java.lang.String svcName) throws FinderException,RemoteException;
SVCBean.java (Enterprise Bean file)
package CMPEntityBean;
import javax.ejb.*;
public abstract class SVCBean implements EntityBean
protected EntityContext ctx;
public abstract java.lang.String getSvcID();
public abstract java.lang.String getSvcName();
public abstract void setSvcID(java.lang.String svcID);
public abstract void setSvcName(java.lang.String svcName);
public void ejbActivate(){}
public void ejbRemove(){}
public void ejbPassivate(){}
public void ejbLoad(){}
public void ejbStore(){}
public void setEntityContext(EntityContext ctx)
this.ctx = ctx;
public void unsetEntityContext()
this.ctx = null;
public void ejbPostCreate(String svcID,String svcName){}
public SVCPK ejbCreate(String svcID,String svcName)
setSvcID(svcID);
setSvcName(svcName);
return new SVCPK(svcID);
ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<entity>
<ejb-name>CMPSvc</ejb-name>
<home>CMPEntityBean.SVCHome</home>
<remote>CMPEntityBean.SVC</remote>
<ejb-class>CMPEntityBean.SVCBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>CMPEntityBean.SVCPK</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>SVCBean</abstract-schema-name>
<cmp-field>
<field-name>svcID</field-name>
</cmp-field>
<cmp-field>
<field-name>svcName</field-name>
</cmp-field>
<!--prim-key-class>svcID</prim-key-class-->
<query>
<query-method>
<method-name>findBySvcName</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<!--result-type-mapping>Local</result-type-mapping-->
<ejb-ql>
SELECT OBJECT(a) FROM SVCBean a WHERE svcName = ?1
</ejb-ql>
</query>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>CMPSvc</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
weblogic-ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd" >
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>CMPSvc</ejb-name>
<entity-descriptor>
<entity-cache>
<max-beans-in-cache>1000</max-beans-in-cache>
</entity-cache>
<persistence>
<persistence-type>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
<type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
</persistence-type>
<persistence-use>
<type-identifier>WebLogic_CMP_RDBMS</type-identifier>
<type-version>6.0</type-version>
</persistence-use>
</persistence>
</entity-descriptor>
<jndi-name>cmpsvc</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
weblogic-cmp-rdbms-jar.xml
<!DOCTYPE weblogic-rdbms-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB RDBMS Persistence//EN' 'http://www.bea.com/servers/wls600/dtd/weblogic-rdbms-persistence.dtd'>
<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>CMPSvc</ejb-name>
<data-source-name>ucisOra</data-source-name>
<table-name>TAB_SVC</table-name>
<field-map>
<cmp-field>svcName</cmp-field>
<dbms-column>svcname</dbms-column>
</field-map>
<field-map>
<cmp-field>svcID</cmp-field>
<dbms-column>svcid</dbms-column>
</field-map>
</weblogic-rdbms-bean>
</weblogic-rdbms-jar>
thanks a lot!Try this
SELECT OBJECT(a) FROM SVCBean a WHERE a.svcName = ?1 -
Problem deploying related EJBs in separate JARs
I have 2 entity EJBs, User and Address, in separate JAR files. The User bean
has business methods to get and set its related address as follows:
void setAddressPK(AddressPK newAddress) throws java.rmi.RemoteException;
AddressPK getAddressPK() java.rmi.RemoteException;
When I try and load User.jar in the EJB Deployment tool it complains that it
can't find the AddressPK class. However, I can get round this by explicitly
adding Address.jar to the classpath.
When I actually deploy and use the User bean I do NOT need Address.jar on
the classpath, although I do get warnings during deployment.
So my question is how do I package and deploy related EJBs. I don't want to
have to have all my EJBs in the same JAR, nor do I want to have the same
classes in more than one JAR. Is what I'm doing correct - am I supposed to
have Address.jar on the classpath? And what about an utility classes that
are shared between EJBs - where do I put those?
Thanks in advance,
Steve.I resolved the problem be making sure that my deployment
jars don't appear in my servlet classpath....
Jason
Jeff Wang <[email protected]> wrote in message news:[email protected]...
In general, if two beans are related (i.e. you can not compile one
without the other being on the classpath) and they are both deployed
they should be in the same jar file. If you do not deploy one of them,
then the undeployed bean can be in the weblogic.class.path with no
problem.
I suspect that you are getting a ClassCastException because you have the
deployment jars in your weblogic.class.path (or java classpath.) Remove
them, and see if the error is resolved.
Jeff Wang
WLCS 2.0 Software Engineer
Jason Rosenberg wrote:
Does the same apply for beans of different types? In other words, do
I need to have an entity bean and a session bean which wraps the entity
bean in the same jar file?
I am having a problem accessing a session bean from a JSP servlet. I get
the dreaded ClassCastException. I don't get this problem, however, if
I access the session bean directly from a stand-alone java client. It's
only when I access the session bean via JSP....
Any ideas?
Jason
Jeff Wang <[email protected]> wrote in message news:[email protected]...
What you should have in the .jar files are:
the home (say it is called <bean>home.class)
the remote (say it is called <bean>.class)
the impl (say it is called <bean>impl.class)
These are the only ones that should be in the .jar file. (not even the
PK should be there, for an entity bean.) All the support classes should
be in weblogic.class.path If you have cross jar dependencies,
unfortunately, you will have to specify the jar in the
weblogic.class.path... However, this is not a good idea, as you will
have 2 class files in memory. At the very least, you will not be able
to do hot deploy. Depending on your code, you'll have a "class cast
exception <bean> can not be casted to an object of <bean>" (Something
like that, I don't have the exact error in front of me.) In your
example it is probably better to put User and Address in the same jar.
Jeff Wang
WLCS 2.0 Software Engineer
Steve Ward wrote:
I have 2 entity EJBs, User and Address, in separate JAR files. The User bean
has business methods to get and set its related address as follows:
void setAddressPK(AddressPK newAddress) throws java.rmi.RemoteException;
AddressPK getAddressPK() java.rmi.RemoteException;
When I try and load User.jar in the EJB Deployment tool it complains that it
can't find the AddressPK class. However, I can get round this by explicitly
adding Address.jar to the classpath.
When I actually deploy and use the User bean I do NOT need Address.jar on
the classpath, although I do get warnings during deployment.
So my question is how do I package and deploy related EJBs. I don't want to
have to have all my EJBs in the same JAR, nor do I want to have the same
classes in more than one JAR. Is what I'm doing correct - am I supposed to
have Address.jar on the classpath? And what about an utility classes that
are shared between EJBs - where do I put those?
Thanks in advance,
Steve. -
How to list deployments on a particular server?
Using wlst, before my script deploys an app, I want to check to see if it is deployed in the target and, if needs be, undeploy first.
The problem is that the script below does not show the target for the existing deployment. I only want to undeploy if the app is deployed to my server.
app_map = ls('/AppDeployments', returnMap='true')
if app_map.size() > 0:
print 'Found a previous version. Undeploying...'
for bean in app_map:
if bean.startswith('MyApp'):
undeploy(bean, targets='MyNewServer', block='true')
print 'App successfully removed.'
How can I narrow down the ls() list to applicaitons deployed to my server only?If you are trying to see the deployment status of your application on a particular server, you will probably need to use the domainRuntime() MBean tree (instead of the domainConfig() tree):
For example:
domainRuntime()
cd('ServerRuntimes/<the_server_name_your_are_interested_in>/ApplicationRuntimes/<name_of_your_application>/ComponentRuntimes/<app_component_name/)
cmo.getDeploymentState() -
Weird Problem with BLOB CMP field
Hi,
I am trying to deploy an EJB2.0 CMP Bean in Weblogic6.1 .The Bean has one of the CMP Field as a serializable object mapped to a BLOB Datatype in Oracle8i
When i try to creae this Entity Bean
I get "java.io.IOException: ORA-22920: row containing the LOB value is not locked" as a nested exception.
When i increased the isolation level . I got "java.io.IOException: ORA-01002 fetch out of sequence" as the nested exception
And one more horrible thing that is happening is the other arguments to the create method are getting updated in the DB except the Blob field(Supposed to rollback? when there is an EJB Exception ??)
Any thoughts? Comments?
Regards
SathyaHi,
I seem to recall that there are multiple issues with BLOBS & WLS. I'll describe my setup, and you can see if your missing anything:
- In weblogic-cmp-rdbms-jar.xml you need to set the column type as a Blob:
<field-map>
<cmp-field>binary</cmp-field>
<dbms-column>binary</dbms-column>
<dbms-column-type>OracleBlob</dbms-column-type>
</field-map>
- In weblogic-ejb-jar.xml you may need to set the isolation level of your set method:
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED_FOR_UPDATE</isolation-level>
<method>
<ejb-name>TerminalSoftwareKernelBDO</ejb-name>
<method-name>setBinary</method-name>
</method>
</transaction-isolation>
- The bean get/set methods should look like this:
public abstract void setBinary(java.lang.Object binary);
public abstract java.lang.Object getBinary();
- In WLS 6.1 up to Service Pack 2 (I don't know about SP3 yet), BLOBs are incorrectly implemented. For some (odd) reason you can only put serialized objects into the DB... I think this means that if you have a BLOB put in by anything but WLS, WLS get very unhappy. So empty out your table with the blobs first.
Hope that helps.
Daniel. -
What relationship between every classloader?
Can I deploy several EJB JARS which have many enterprise beans in weblogic6.1sp2?
what relationship between these ejb jars' classloader and web application's classloader?Can I deploy several EJB JARS which have many enterprise beans inweblogic6.1sp2?
what relationship between these ejb jars' classloader and webapplication's classloader?
Typically you'd put all those JARs and the WAR into an EAR. Then they'd
share a classloader (although there's actually more than one involved). If
you have problems, you can start consolidating; in case of emergency, tend
to consolidate toward all the classes (including web app) being in one JAR.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com/coherence.jsp
Tangosol Coherence: Clustered Replicated Cache for Weblogic
"ejb" <[email protected]> wrote in message news:3d9287f2$[email protected]..
> -
Deployed EJB's not seen in console
I finally figured out what the problem is.
It's because my domain is not the default domain.
If I deploy to the default domain then I can see the EJBs.
Do you need create a new console to look at EJBs in a non-default
domain? It certainly seems like you should be able
to view other domains from the default because you can go
between domains in it.
Shelly
"Shelly" <[email protected]> wrote:
>
>
Kumar,
I wish it were that simple!
I deployed the beans and then brought up the default server
and
console afterwards. The beans do not show up no matter
what.
I have reinstalled etc, nothing seems to work. I've even
changed
what ports the default server is listening on.
I've created a new domain and deployed to it - still no
EJB's
in the console.
I did try to look at the JNDI tree for the server and
I get an
error even when it is running:
myserver-1 is not running at the moment:
newdomain:Name=myserver-1,Location=myserver-1,Type=ServerRuntime
Maybe that has something to do with it.
It is the same in 6.0 and SP1.
Regards,
Shelly
Kumar Allamraju <[email protected]> wrote:
Is the bean deployed before the server startup or after
the startup?
If the former is true, you should see the deployed beans
in the console
If the latter is true and you accessed console before
deploying the bean, you
refresh the page to get the
latest changes.
BTW, are you on SP1 or the GA release?
Kumar
Gary Keim wrote:
Since we know the beans are getting successfully deployed,this turns into a
Console issue so I'm forwarding the thread to
weblogic.developer.interest.management.console. Maybeour friends over
there have the answer.
Gary
Shelly <[email protected]> wrote in message
news:[email protected]...
When I change the logging level to info, I can see
that they are
successfully deployed. However, they don't show
up
in the console.
Do they have to be in an EAR module? Maybe that
is
it, because
the build scripts are just putting the jar files
in
the applications
directory.
"Gary Keim" <[email protected]> wrote:
I believe you should see deployed applications in
the
console, regardless of
how they are deployed. I know that when I stuffan EAR
module in the
domain's applications directory, it gets deployedand
I can see it in The
Console.
Do you see anything in the log file about that deployment?
Gary
Teo Kian Hui <[email protected]> wrote in message
news:[email protected]...
Did you deploy those beans using the console?
If
so,
you should be able
to see them.
Shelly Foland wrote:
I have deployed some EJB20 beans to WebLogic6.0.
I've tested with a client that they work and
are successfully
deployed.
When the server comes up it doesn't mention
them
like
5.1 used
to. I also can't see them using the console.
Is
there a way
to see that the EJB's were successfully deployed
other
than
testing with a client.
Thanks,
Shelly -
I am receiving an error trying to deploy an entity bean on weblogic6.1. The error is:
Unable to deploy EJB: OrderBean from CustomerCMP.jar:
The Entity EJB requires the table: Order to be accessible. Please ensure that this table exists and is accessible.
I have checked that the datasource is correct, the table exists and the database is running.
Any suggestions?
Thanks in advance for your help.Use auto table creation with in weblogic-cmp-rdbms-jar.xml
<create-default-dbms-tables>True</create-default-dbms-tables> -
WLS 7: "Bean is already undeployed" error
Hi all,
Been beating againt WLS 7.0 some more.
Originally, we had our application running in Tomcat and using WLS purely
for EJBs. Now, we've been trying to get the WAR to work within WLS, and made
some layout changes in order to accomodate WLS.
But now, I'm consistently (though I won't say repeatably, as in I can make
it happen) getting these errors, and once that happens, my app is dead.
The WAR and EJBs are part of the same EAR file. I don't any notice in the
WLS log of WLS "undeploying" the IRNGenerator bean, and I'm certainly not
doing it myself, yet I get this error all the time, and it's a bit of a
roadblock.
This doesn't make a lot of sense. I'm not seeing any other exceptions in the
WLS log that would foreshadow this happening.
Any thoughts would be appreciated.
Best Regards,
Will Hartung
([email protected])
Stack snippet below:
1342520 [ExecuteThread: '10' for queue: 'default'] ERROR
msc.asutil.IRNGenerator - getNext: exception: Bean is already undeployed.
java.rmi.NoSuchObjectException: Bean is already undeployed.
at
weblogic.ejb20.manager.BaseEJBManager.preInvoke(BaseEJBManager.java:94)
at weblogic.ejb20.manager.DBManager.preInvoke(DBManager.java:226)
at
weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:126)
at
weblogic.ejb20.internal.EntityEJBObject.preInvoke(EntityEJBObject.java:91)
at
msc.as.IRNEntityEJB_b1jyx4_EOImpl.getIRN(IRNEntityEJB_b1jyx4_EOImpl.java:29)
at msc.asutil.IRNGenerator.getNext(IRNGenerator.java:52)
at msc.asutil.IRNGenerator.getNext(IRNGenerator.java:78)
at msc.as.MetricsSessionEJB.logEvent(MetricsSessionEJB.java:190)Will,
What method are you using to deploy/undeploy your ear? applications directory?
weblogic.Deployer?
Seth
Will Hartung wrote:
Hi all,
Been beating againt WLS 7.0 some more.
Originally, we had our application running in Tomcat and using WLS purely
for EJBs. Now, we've been trying to get the WAR to work within WLS, and made
some layout changes in order to accomodate WLS.
But now, I'm consistently (though I won't say repeatably, as in I can make
it happen) getting these errors, and once that happens, my app is dead.
The WAR and EJBs are part of the same EAR file. I don't any notice in the
WLS log of WLS "undeploying" the IRNGenerator bean, and I'm certainly not
doing it myself, yet I get this error all the time, and it's a bit of a
roadblock.
This doesn't make a lot of sense. I'm not seeing any other exceptions in the
WLS log that would foreshadow this happening.
Any thoughts would be appreciated.
Best Regards,
Will Hartung
([email protected])
Stack snippet below:
1342520 [ExecuteThread: '10' for queue: 'default'] ERROR
msc.asutil.IRNGenerator - getNext: exception: Bean is already undeployed.
java.rmi.NoSuchObjectException: Bean is already undeployed.
at
weblogic.ejb20.manager.BaseEJBManager.preInvoke(BaseEJBManager.java:94)
at weblogic.ejb20.manager.DBManager.preInvoke(DBManager.java:226)
at
weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:126)
at
weblogic.ejb20.internal.EntityEJBObject.preInvoke(EntityEJBObject.java:91)
at
msc.as.IRNEntityEJB_b1jyx4_EOImpl.getIRN(IRNEntityEJB_b1jyx4_EOImpl.java:29)
at msc.asutil.IRNGenerator.getNext(IRNGenerator.java:52)
at msc.asutil.IRNGenerator.getNext(IRNGenerator.java:78)
at msc.as.MetricsSessionEJB.logEvent(MetricsSessionEJB.java:190) -
After installing our product on a clean machine when the WLS server runs for the
first time
a call to an entity EJB raises the java.rmi.NoSuchObjectException Bean on already
undeployed.
After WLS reboots the problem seems to disappear.
Regards.
Eran<Thu Jan 22 18:07:02 GMT+02:00 2004> <Debug><tserver><java.rmi.NoSuchObjectException:
Bean is already undeployed.
at weblogic.ejb20.manager.BaseEJBManager.preInvoke(BaseEJBManager.java:94)
at weblogic.ejb20.manager.DBManager.preInvoke(DBManager.java:239)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:130)
at weblogic.ejb20.internal.EntityEJBObject.preInvoke(EntityEJBObject.java:90)
at com.orsus.servers.workflow.tserver.ejb.TaskInfo_dqur1l_EOImpl.setTaskBusy(TaskInfo_dqur1l_EOImpl.java:386)
at com.orsus.servers.workflow.tserver.message.TaskDispatcherQueueListener.onTaskMessageAcknowladge(TaskDispatcherQueueListener.java:238)
at com.orsus.servers.workflow.tserver.message.TaskDispatcherQueueListener.onMessage(TaskDispatcherQueueListener.java:76)
at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2596)
at weblogic.jms.client.JMSSession.execute(JMSSession.java:2516)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) -
How to add a finder method in the container manager Bean in the weblogic6.1
in the environment jbuilder6 andweblogic6.1,use container manager entity Bean,it can automatic generate the findAll() method,I want to add a new method to find an element in the home interface,such as findByName(),name is a element of a table of the database.in the weblogic-cmp-rdbms-jar.xml,this is part of the fiile:
<finder>
<finder-name>findAll</finder-name>
<finder-query><![CDATA[ (= 1 1) ]]></finder-query>
</finder>
<finder>
<finder-name>findByName</finder-name>
<finder-param>java.lang.String</finder-param>
<finder-query><![CDATA[ (=name $name) ]]></finder-query>
</finder>
It can successfully compile the findAll(),but it is wrong when compile the findByName(),as follows
"www.ejbgrpx": Method Name: findByName
"www.ejbgrpx": Invalid specifications for a WebLogic RDBMS CMP EJB.
"www.ejbgrpx": ERROR: Error from ejbc: weblogic.ejb20.cmp11.rdbms.finders.IllegalExpressionException:
"www.ejbgrpx": While trying to process Finder
"www.ejbgrpx": Parameter Types: (java.lang.String)
"www.ejbgrpx": WebLogic Query: (= name $name)
"www.ejbgrpx": Finder Expressions: ()
"www.ejbgrpx": Could not parse WLQL expression: (= name $name) null
"www.ejbgrpx": ERROR: ejbc found errors
thank youThe finder methods that you are referring to are only simple finder methods. If you would like to add specialized finder methods, you can make your entity bean with bean managed persistence and not container managed. If you are using EJB 2.0, your entity bean with container managed persistence can use EJB QL for finder methods. You can search for this topic and/or download the EJB 2.0 specifications
Hope this helps
Maybe you are looking for
-
Problem with Reinstalling Lion on macbook pro.
Hi I have a problem with reinstalling the Lion but because i had snow leopard so i can't sign in to reinstall can u help me please. Thanks
-
hello I am trying to install Itunes 10.5.2 to my laptop running window 7 (32bit) I may have tried a zillion time and I am now running out of options. -Uninstalled and reinstalled countless time -Cleaned C drive of all Apple product countless time -Al
-
Cannot Run aperture 2.1.4 with Yosemite
Unfortunately after updating to Yosemite found that Aperture 2.1.4 that was running OK with Maverick is now an unsupported Software. How can Apple do this? The installation process was not quick so I think that the developers should have a bit of the
-
Adding columns in query causes renames of fields
Hi All, I'm using Oracle Reports Builder 10g. I have a query which has connections to other queries. When I try to add two columns into that query and recompile the RDF it automatically renames other fields adding "1" at the right side. Any ideas why
-
Command To ID File System Type
I was found a server running Arch. Powered on fine and seems to be running great. I was able to recover the root login however I would like to know what command I can run in a terminal to identify the file system type on the disk partitions. [root@ti