Ejb in cluster
I have deployed my ejb onto on a cluster with 2 server on different machine but when I test my web application,
1) I faced the following error on one of the server while it is working fine on another server.
2) when I check the Weblogic console, it say my ejb has been deployed successfully
3) however, when I click on the "Testing" tab in the EJB, it say the ejb has not been tested successfully.
Please advise. Lots of thanks for your help
<Apr 26, 2006 2:05:56 PM SGT> <Warning> <RMI> <BEA-080009> <Error thrown by RMI server: [BaseEJBObject] home: ReportSession_68t828_HomeImpl@1b02985 invoking: updateMainReport(Ljava.lang.String;Ljava.lang.String >
[ERROR] Exception.java:handleException - 26042006@14051146031556267: java.lang.NoClassDefFoundError
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:186)
Is this parameter used for bean managed persistence also?
Thanks,
Sham
"Cameron Purdy" <[email protected]> wrote:
Search the docs for the db-is-shared setting. Set it to true.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com/coherence.jsp
Tangosol Coherence: Clustered Replicated Cache for Weblogic
"Sham Gatupa" <[email protected]> wrote in message
news:[email protected]..
Hi, An application is deployed in a cluster of two bea managed servers.Netscape
plugin controls to which weblogic server the request is sent to. Forsome
reason
the data is shown different in different sessions. My question hereis "Is
there
a difference in deployment descriptors for a EJB to deploy in eithersingle or
cluster enviroment." Any help appreciated.
Thanks
Similar Messages
-
Deploy EJBs in cluster environment
I have cluster environment using three levels of weblogic.properties files (global/per cluster/per server). When I put all EJBs into per server properties file in all servers in cluster, I got conflictHandler message for some of the EJBs when bring up the second server in the cluster.
1. Where the ejb should go (set in weblogic.ejb.deploy property)?
2. Can I move those conflicted EJBs per cluster or golbal weblogic.properties file to resolve the conflict problem?
3. If there are weblogic.ejb.deploy entries in both per-cluster properties file and per server cluster properties file, do the setting in per-cluster be overwritten by the one in per-server?
Thanks in advance.
key
Just found out that those beans have been explicitly disable home-is-clusterable. Thanks for all of your help.
"Vivek Raikanti" <[email protected]> wrote:
>But I thought, that is the default setting in the weblogic-ejb-jar.xml file
>?
>( enable-clustering is true by default ... correct ?)
>
>
> -Vivek
>
>
>Wei Guan <[email protected]> wrote in message
>news:[email protected]...
>> In your EJB deployement descriptors, did you enable clustering for your
>> EJBs?
>> --
>> Hope it helps.
>>
>> Cheers - Wei
>>
>>
>> "Key Zhang" <[email protected]> wrote in message
>> news:[email protected]...
>> >
>> > I have cluster environment using three levels of weblogic.properties
>files
>> (global/per cluster/per server). When I put all EJBs into per server
>> properties file in all servers in cluster, I got conflictHandler message
>for
>> some of the EJBs when bring up the second server in the cluster.
>> >
>> > 1. Where the ejb should go (set in weblogic.ejb.deploy property)?
>> > 2. Can I move those conflicted EJBs per cluster or golbal
>> weblogic.properties file to resolve the conflict problem?
>> > 3. If there are weblogic.ejb.deploy entries in both per-cluster
>properties
>> file and per server cluster properties file, do the setting in per-cluster
>> be overwritten by the one in per-server?
>> >
>> > Thanks in advance.
>> > key
>>
>>
>
>
-
We have an EJB application deployed in WLS 6.1 cluster environment with 2 servers.
EJBs are bean managed persistence. The EJBs are deployed to cluster and default
values for db-is-shared and home-is-clusterable are set (TRUE). There is data
inconsistency. To replicate the problem, this is what I did
1. Started both servers in the cluster after the admin server 2. PUT in the NSAPI
parameter WEBLOGICcluster = "server_1" 3. Viewed a JSP which loads data from an
SAMPLEEJB 4. Changed the WEBLOGICcluster to server2 and restarted iPlanet webserver
5. Viewed the same JSP which loads data of SAMPLEEJB 6. Edited the data in the
SAMPLEEJB through a HTML form 7. Data was updated on database 8. Again changed
the WEBLOGICcluster to server1 and restarted iPlanet webserver 9. Viewed the same
JSP which loaded data from the same SAMPLEEJB. SAW the same data as in step 3.
but in database the values are different.
Please explain what I need to do to resolve this problem
We have an EJB application deployed in WLS 6.1 cluster environment with 2 servers.
EJBs are bean managed persistence. The EJBs are deployed to cluster and default
values for db-is-shared and home-is-clusterable are set (TRUE). There is data
inconsistency. To replicate the problem, this is what I did
1. Started both servers in the cluster after the admin server 2. PUT in the NSAPI
parameter WEBLOGICcluster = "server_1" 3. Viewed a JSP which loads data from an
SAMPLEEJB 4. Changed the WEBLOGICcluster to server2 and restarted iPlanet webserver
5. Viewed the same JSP which loads data of SAMPLEEJB 6. Edited the data in the
SAMPLEEJB through a HTML form 7. Data was updated on database 8. Again changed
the WEBLOGICcluster to server1 and restarted iPlanet webserver 9. Viewed the same
JSP which loaded data from the same SAMPLEEJB. SAW the same data as in step 3.
but in database the values are different.
Please explain what I need to do to resolve this problem
-
Re: User Session using ServletSession and Stateful EJB in Cluster
Sorry , I didn't use WLS 6.0, we use wls 5.1 in production.
But in Wls 6.0, in some situations , the state of the stateful session bean can be lost. So it's not so reliable. You have to deal with it in the client code. Instead, servlet is a reliable solution.
In order to test under wls6.0, you can store the handle of the EJBObject in the HttpSession, not in jndi, cos if the instance fails, all its objects will be removed by remaining instances from jndi. In another instance, you get the handle, and try to get the EJBObject.
In wls5.1, some information like the server url must be embeded inside the handle. But in wls6.0, I don't know how they deal with it.
I am looking forward to your results
"Anuj Soni" <[email protected]> wrote:
>
>What kind of clustering problems you had with WL6.0 for Stateful session beans ? It will be helpful for me to know before hand.
>
>BTW, how were you able to test stateful session beans in a cluster under WL6.0 i.e. were you storing the Handle or EJBObject in HttpSession or did you store it in JNDI ?
>
>Thanks,
>
>Anuj
>"Tao Zhang" <[email protected]> wrote:
>>Although it's very advanced to take advantage of both http session and
>>stateful session bean replication, but if you rely on the stateful session
>>bean's state, you will be in trouble. Because the support of stateful
>>session bean's replication is not perfect in wls6.0. We already chaned
>>almost all stateful session beans into servlets or entity beans.
>>
>>I am not sure about the handle of the EJBObject. I think it should be able
>>to reconstruct for us otherwise we can't use the handle any more.
>>
>>You can do a test. BTW, could you tell me the result?
>>
>>Thanks.
>>
>>Anuj Soni <[email protected]> wrote in message
>>news:[email protected]...
>>>
>>> Hi,
>>>
>>> I am designing the workflow for my web application using a Stateful
>>session bean. As Weblogic 6.0 supports clustering of stateful session bean
>>and HttpSession(in-memory replication), I want to use the combination of
>>both techniques to provide load-balancing and fail-over safety for user
>>sessions and their corresponding workflows.
>>>
>>> The question I have is that, Is Handle obtained using
>>EJBObject.getHandle(), fail-over safe (for a clusterable stateful bean), so
>>that I can reconstruct the reference to EJBObject on the secondary server
>>incase of primary server crash.
>>>
>>> My understanding is that I should store Handle in the HttpSession as it is
>>Serializable not the EJBObject. The weblogic 6.0 document only talks about
>>the replica-awareness of EJBObject.
>>>
>>> If my above assumption is incorrect, Can you tell me how else I can
>>achieve my goal ?
>>>
>>> Thanks in advance.
>>>
>>> Anuj Soni
>>
>>
>
Any one tested this scenario yet? i.e: storing the handle to an EJB object and then trying to re-use after the HttpSession is restored?
Thanks.
-
I would appreciate if someone can explanation my long list of questions regarding
the deployment of EJB in cluster environment.
I can't run the cluster EJB example( Teller/Account) in a cluster(contains two
server2). I always get
java.rmi.RemoteException: Unable to
resolve examples.cluster.ejb.Account
Home. Resolved: 'examples.cluster.ejb'
Unresolved:'AccountHome'
Following is my setup:
Machine A: exampleServer:7001 (admin server)
Machine A: testServer1:8001 (Managed server)
Machine B: testServer1_B:8001(Managed server)
MyCluster : testServer1, testServer1_B
Test Client:
java examples.cluster.ejb.Client "t3://Machine A:8001"
======================
Q1: Should I use 8001 or 7001 as cluster port number?
Q2: What will happen when we click "apply" after select/unselect the server in
the "target", "server" tab?
Q3: And what will happen if we click deploy/undeploy check box in "configuration"
tab of EJB item?
Q4: I check the JNDI tree from all above three servers can't find out JNDI tree
doesn't reflect the change I did in Q2 or Q3.
Q5: What is the right way to deploy EJB components, should we select both cluster
and server in the "target" tab?
Q6: I got this message from one of the server when I try to undeploy/deploy ejb
object.
"examples.cluster.ejb.TellerHome_EO in the jndi tree is non clusterable
and you have tried to bind more
once? How could I make it clusterable?
Q7: Undeploy and EJB doesn't work and sometime I still get " JNDI name in use"
from the server.
How could I fix it.
Thanks
First I can tell you that the ports have to be the same, be on the the
same network , i.e. Telnet into the other m/c. Next which you probably
have done is the properties files. Per-cluster ...
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<<
On 6/7/01, 6:59:48 AM, "James Hsu" <[email protected]> wrote regarding
Can't run the cluster example:
> I would appreciate if someone can explanation my long list of
questions regarding
> the deployment of EJB in cluster environment.
> I can't run the cluster EJB example( Teller/Account) in a
cluster(contains two
> server2). I always get
> java.rmi.RemoteException: Unable to
> resolve examples.cluster.ejb.Account
> Home. Resolved: 'examples.cluster.ejb'
> Unresolved:'AccountHome'
> Following is my setup:
> Machine A: exampleServer:7001 (admin server)
> Machine A: testServer1:8001 (Managed server)
> Machine B: testServer1_B:8001(Managed server)
> MyCluster : testServer1, testServer1_B
> Test Client:
> java examples.cluster.ejb.Client "t3://Machine A:8001"
> ======================
> Q1: Should I use 8001 or 7001 as cluster port number?
> Q2: What will happen when we click "apply" after select/unselect the
server in
> the "target", "server" tab?
> Q3: And what will happen if we click deploy/undeploy check box in
"configuration"
> tab of EJB item?
> Q4: I check the JNDI tree from all above three servers can't find out
JNDI tree
> doesn't reflect the change I did in Q2 or Q3.
> Q5: What is the right way to deploy EJB components, should we select
both cluster
> and server in the "target" tab?
> Q6: I got this message from one of the server when I try to
undeploy/deploy ejb
> object.
> "examples.cluster.ejb.TellerHome_EO in the jndi tree is non
clusterable
> and you have tried to bind more
> once? How could I make it clusterable?
> Q7: Undeploy and EJB doesn't work and sometime I still get " JNDI
name in use"
> from the server.
> How could I fix it.
> Thanks
[att1.html]
-
How to setup weblogic cluster in 6.1 SP4
Hi All,
I have a Licensed weblogic in my solaris servers. I need to test weblogic clustering
. How can i simulate weblogic clustering is there is any easy steps to do that
and what should i do in order to make my EJB`s cluster aware. And some ppl say
that i need to take a seperate weblogic cluster license other than the weblogic
license.Kindly help me in proceeding further
Thanks in advance
Bala.J
Hi
I have same problem at beforetime.
You can do follow:
Step 1:
copy rt.jar form JDK 1.2.1\jre\lib\jar
to J2EE1.2.1\lib\system\
Step 2:
Set J2ee_classpath = c:\j2ee1.2.1\lib\system\rt.jar
Step 3:
Restart computer and J2ee
You can try it
Help can help you
David -
Pros/Cons of separating servlet/EJB clusters
What and the pros and cons of establishing a cluster for the servlet layer and
a separate cluster for the EJB layer?
The rational behind this decision would be to take advantage of a shared infrastructure
where multiple EJB components could be deployed in a cluster where they are accessed
from multiple servlet/clusters.
The obvious con is the fact that all calls between the servlet layer and the EJB
layer will be remote calls however, there should be a greater level of availability
and scalability.
What are the other issues behind this deployment strategy?
I don't recall any other problems with this topology other than the one
that you already mentioned. Infact i have seen several customer using
this topology. i.e. having WebTier Cluste and EJB tier cluster.
Kumar
JD wrote:
> What and the pros and cons of establishing a cluster for the servlet layer and
> a separate cluster for the EJB layer?
>
> The rational behind this decision would be to take advantage of a shared infrastructure
> where multiple EJB components could be deployed in a cluster where they are accessed
> from multiple servlet/clusters.
>
> The obvious con is the fact that all calls between the servlet layer and the EJB
> layer will be remote calls however, there should be a greater level of availability
> and scalability.
>
> What are the other issues behind this deployment strategy?
>
-
Round Robin doesn't work in Bea Weblogic Cluster
hello!
we are using a weblogic (V5.1 SP8) cluster in the following configuration:
2 Weblogic App-Servers as Servlet Containers.
4 Weblogic App-Servers as EJB Containers.
if a client connects to the first servlet - server, round robin between the
4 EJB-servers behind doesn't work. It seems that the servlet-server is
pinned to one EJB-server all the time.
If we kill the second servlet-server as from now on round robin works in the
EJB-server cluster like we expected.
As we changed this configuration and also use an IPlanet webserver (one
instance) with the weblogic proxy-plugin which connects to the
servlet-cluster (2 instances)... round robin is working properly in the
EJB-server cluster when the client connects to the IPlanet-server....
what is the problem, why doesn't round robin work in the first
configuration? any suggestions?
Torsten Jenkner
Okay, is it that the round-robining is not perfect (i.e., it doesn't send the
first request to server1 and the second request to server2 and so on) or is it
sending every request to one server?
Torsten Jenkner wrote:
> yes exactly Robert that's it!
>
> Torsten
>
> "Robert Patrick" <[email protected]> schrieb im Newsbeitrag
> news:[email protected]...
> > I don't understand this. Are you saying that with servlet node 1 or
> servlet
> > node 2 running by themselves that RR works fine but once you start both
> > together, it does not?
> >
> > This sounds like a case for support...
> > Robert
> >
> > Torsten Jenkner wrote:
> >
> > > > > it is always the same stub in our case. Also the round robin in the
> EJB
> > > > > cluster does with the same java classes but does not if the servlet
> > > cluster
> > > > > consits of two nodes. So it seems to be a configuration problem, but
> > > which
> > > > > one?
> > > >
> > > > Hmm.... I don't quite understand this last statement about the EJB
> and
> > > servlet
> > > > cluster, could you explain a little more?
> > > >
> > > > Thanks,
> > > > Robert
> > > >
> > >
> > > if you use 2 servlet cluster nodes round robin between the
> servlet-cluster
> > > and the ejb-cluster doesn't work. if i kill the second servlet-node it
> works
> > > fine. so my thought was it has to be a configuration problem, because RR
> > > does with one servlet-node. ok?
> > >
> > > Torsten Jenkner
> >
-
Error in retrieving session attribute for ejb remote in clustered env
We store EJB remote object in session and differnt clients retrieve it from sessionbefore
making a business method call. This seems to work in most cases but sometimes
it gives the exception attached. This happens only in a clustered environment.What
has been observed is that if we put the remote object inside a hashtablewhich
in-turn is stored in session retrieval from hashtable does not give thisproblem.
Any suggestion / solution would be greatly appreciated.
Regards,
Shilpa
The exception Stack trace is attachedjava.rmi.NoSuchObjectException: Unable to
locate EJBHome: 'BalconHome' on server:'t3://176.19.183.6,176.19.183.15:9616 at
weblogic.ejb20.internal.HomeHandleImpl.getEJBHome(HomeHandleImpl.java:80) at weblogic.ejb20.internal.HandleImpl.getEJBObject(HandleImpl.java:184)
at weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:395)
at com.chase.ccs.util.AccountInfoAccessor.setCurrentAccountAttributeBalcon(AccountInfoAccessor.java:362)
at com.chase.ccs.util.ModelAccessor.initBlaconOfferModel(ModelAccessor.java:311)
at com.chase.ccs.balancetransfer.OfferPortlet.service(OfferPortlet.java:88) at
com.chase.ccs.balancetransfer.OfferView.pageStart(OfferView.java:65) at com.chase.ccs.util.ModuleStarter.doAllPageStart(ModuleStarter.java:236)
at jsp_servlet._templates._template0005._UXaQVaXTUaSYaWaSRZfdXbWSfYXbTRQb.__ccs_mm_tgl_pfp_grid._jspService(__ccs_mm_tgl_pfp_grid.java:316)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:482)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:308)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:116) at com.epicentric.servlets.ServletUtils.include(ServletUtils.java:150)
at com.epicentric.template.Style.execute(Style.java:538) at com.epicentric.taglib.html.IncludeGridTag.doStartTag(IncludeGridTag.java:57)
at jsp_servlet.__index._jspService(__index.java:560) at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:242)
at com.epicentric.servlets.stackable.SiteDispatcherServlet.service(SiteDispatcherServlet.java:195)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2546)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2260)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
The EJB is stateful session EJB. Have seen some posts pointing to problems
with
stateful session EJB and cluster and the suggested solution was SP4 (we are
on 6.1 SP3).
Hope this gets more clarity (and some solutions!!!).
regards,
Rajesh / Shilpa
"Cameron Purdy" <[email protected]> wrote in message
news:[email protected]...
> It's probably caused by the fact that the session attributes get
serialized
> when they are in a cluster. (Something to do with ser/deser process?)
>
> Peace,
>
> Cameron Purdy
> Tangosol, Inc.
> http://www.tangosol.com/coherence.jsp
> Tangosol Coherence: Clustered Replicated Cache for Weblogic
>
>
> "Shilpa" <[email protected]> wrote in message
> news:[email protected]...
> >
> > We store EJB remote object in session and differnt clients retrieve it
> from sessionbefore
> > making a business method call. This seems to work in most cases but
> sometimes
> > it gives the exception attached. This happens only in a clustered
> environment.What
> > has been observed is that if we put the remote object inside a
> hashtablewhich
> > in-turn is stored in session retrieval from hashtable does not give
> thisproblem.
> > Any suggestion / solution would be greatly appreciated.
> >
> > Regards,
> > Shilpa
> >
> > The exception Stack trace is attachedjava.rmi.NoSuchObjectException:
> Unable to
> > locate EJBHome: 'BalconHome' on
> server:'t3://176.19.183.6,176.19.183.15:9616 at
> >
weblogic.ejb20.internal.HomeHandleImpl.getEJBHome(HomeHandleImpl.java:80)
> at weblogic.ejb20.internal.HandleImpl.getEJBObject(HandleImpl.java:184)
> > at
>
weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:
> 395)
> > at
>
com.chase.ccs.util.AccountInfoAccessor.setCurrentAccountAttributeBalcon(Acco
> untInfoAccessor.java:362)
> > at
>
com.chase.ccs.util.ModelAccessor.initBlaconOfferModel(ModelAccessor.java:311
> )
> > at
> com.chase.ccs.balancetransfer.OfferPortlet.service(OfferPortlet.java:88)
at
> > com.chase.ccs.balancetransfer.OfferView.pageStart(OfferView.java:65) at
> com.chase.ccs.util.ModuleStarter.doAllPageStart(ModuleStarter.java:236)
> > at
>
jsp_servlet._templates._template0005._UXaQVaXTUaSYaWaSRZfdXbWSfYXbTRQb.__ccs
> mmtgl_pfp_grid._jspService(__ccs_mm_tgl_pfp_grid.java:316)
> > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> :265)
> > at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> :200)
> > at
>
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImp
> l.java:482)
> > at
>
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImp
> l.java:308)
> > at
weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:116)
> at com.epicentric.servlets.ServletUtils.include(ServletUtils.java:150)
> > at com.epicentric.template.Style.execute(Style.java:538) at
>
com.epicentric.taglib.html.IncludeGridTag.doStartTag(IncludeGridTag.java:57)
> > at jsp_servlet.__index._jspService(__index.java:560) at
> weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
> > at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> :265)
> > at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> :200)
> > at
>
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImp
> l.java:242)
> > at
>
com.epicentric.servlets.stackable.SiteDispatcherServlet.service(SiteDispatch
> erServlet.java:195)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> :265)
> > at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> :200)
> > at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
> ntext.java:2546)
> > at
>
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
> :2260)
> > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139) at
> weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
>
-
Communication with EJB Server old address,Help!
I meet a Strange problem in weblogic 61 I use some IP address at 3 ejb server(cluster),that
is ok,but at one time I changed the IP address and changed config.xml and delete
all of ejb caches and temp classes,but when I use netstat, I still can find the
connection to IP old address is at SYN_SEND state, I do not know why the ejb server
communication by the old address? but the application is runing fine, I wonder
this problem affect performance,any idea or suggestion?
Hello Venky,
Thanks for the reply.
I didn't see any connection established message in the Event Viewer or logs..
Can you post the snippet of the Event Viewer or logs which says " connection established" or similar ...
Thanks & regards,
Naresh -
Error defining transaction-isolation at weblogic-ejb-jar.xml
Hi,
.. from WebLogic 5.1 reference:
(...) the top level elements in weblogic-ejb-jar.xml are as follows:
. description
. weblogic-version
. weblogic-enterprise-bean
. ejb-name
. caching-descriptor
. presistence-descriptor
. clustering-descriptor
. transaction-descriptor
. reference-descriptor
. enable-call-by-reference
. jndi-name
. TRANSACTION-ISOLATION
. security-role-assignment
this way i've appended a transaction isolation section immediatly after the jndi-name section
from my weblogic-ejb-jar.xml file to specify that all methods of my container-managed ejb
should use read-committed accesses to the database. But i've gotten the error message:
org.xml.sax.SAXParseException: Element "weblogic-enterprise-bean" allows no further input; "transaction-isolation" is not allowed.
during compilation time at parsing. Nowhere else in the weblogic-ejb-jar.xml i can put the
isolation transaction section without receiving some related parsing error. The same happens
trying to include such transaction section at ejb-jar.xml. I'm attaching both xml files. Should
anybody help me saying where that section should be described? And if it should be placed in
another file, why the documentation states for describing it at the weblogic-ejb-jar.xml?
[weblogic-ejb-jar.xml]That means that you do not have the SP6 in the service pack and it is using
the old DTD.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
+1.617.623.5782
WebLogic Consulting Available
"Ana Benites" <[email protected]> wrote in message
news:[email protected]...
>
Cameron,
hello.
When you say "<enterprise-bean>" block, you mean"<weblogic-enterprise-bean>"block, isn't it?
>
Because you recommend in your response exactly what i was doing in myweblogic-ejb-jar.xml,
>
that i had attached to my message when openning this discussion. I copyit again here:
>
My weblogic-ejb-jar.xml:
<?xml version="1.0"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
>
>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>cluster.ejb.TellerHome</ejb-name>
<caching-descriptor>
</caching-descriptor>
<enable-call-by-reference>False</enable-call-by-reference>
<jndi-name>cluster.ejb.TellerHome</jndi-name>
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
>
<method>
<ejb-name>cluster.ejb.TellerHome</ejb-name>
<method-name>*</method-name>
</method>
</transaction-isolation>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
...and this is resulting in the following parsing error during compiletime:
>
>
org.xml.sax.SAXParseException: Element "weblogic-enterprise-bean" allowsno further input; "transaction-isolation" is not allowed.
at com.sun.xml.parser.Parser.error(Parser.java:2775)
atcom.sun.xml.parser.ValidatingParser$ChildrenValidator.consume(ValidatingPars
er.java:306)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1280)
at com.sun.xml.parser.Parser.content(Parser.java:1498)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1399)
at com.sun.xml.parser.Parser.content(Parser.java:1498)
at com.sun.xml.parser.Parser.maybeElement(Parser.java:1399)
at com.sun.xml.parser.Parser.parseInternal(Parser.java:491)
at com.sun.xml.parser.Parser.parse(Parser.java:283)
at weblogic.xml.dom.SunDOMParser.getDocument(SunDOMParser.java:69)
at weblogic.xml.dom.DOMParser.getDocument(DOMParser.java:102)
atweblogic.ejb.deployment.dd.DescriptorLoader.<init>(DescriptorLoader.java:157
at weblogic.ejbc.runBody(ejbc.java, Compiled Code)
at weblogic.utils.compiler.Tool.run(Tool.java:80)
at weblogic.ejbc.main(ejbc.java:353)
Am i forgetting anything?
Thanks for your help
Ana.
"Cameron Purdy" <[email protected]> wrote:
Hi Ana,
Add to weblogic-ejb-jar.xml:
Inside each <enterprise-bean> block, add the following immediately before
the block closes:
<transaction-isolation>
<isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
<method>
<ejb-name></ejb-name>
<method-name>*</method-name>
</method>
</transaction-isolation>
The <ejb-name> value of the <method> block of the <transaction-isolation>
block must match the <ejb-name> value of the <enterprise-bean> block.
Please note the case sensitive nature of the values.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
+1.617.623.5782
WebLogic Consulting Available
"Ana Benites" <[email protected]> wrote in message
news:[email protected]...
Thanks for your attention Cameron,
from my WebLogic Console one can read
"WebLogic Build 5.1.0 Service Pack 6 09/20/2000 21:03:19#84511"
...because i was suspecting the problem was due to a lack of
applying
the service pack 6. But even
after that upgrade the parsing errors remain.
regards
Ana
"Cameron Purdy" <[email protected]> wrote:
Ana,
The 5.1 release did NOT support transaction isolation in the
weblogic-ejb-jar.xml file.
That feature was introduced in a service pack. What SP are you using?
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
+1.617.623.5782
WebLogic Consulting Available
"Ana Benites" <[email protected]> wrote in message
news:[email protected]...
Hi,
.. from WebLogic 5.1 reference:
(...) the top level elements in weblogic-ejb-jar.xml are as follows:
description
weblogic-version
weblogic-enterprise-bean
. ejb-name
. caching-descriptor
. presistence-descriptor
. clustering-descriptor
. transaction-descriptor
. reference-descriptor
. enable-call-by-reference
. jndi-name
. TRANSACTION-ISOLATION
security-role-assignment
this way i've appended a transaction isolation section immediatly
after
the jndi-name section
from my weblogic-ejb-jar.xml file to specify that all methods of mycontainer-managed ejb
should use read-committed accesses to the database. But i've gotten
the
error message:
org.xml.sax.SAXParseException: Element "weblogic-enterprise-bean"
allows
no further input; "transaction-isolation" is not allowed.
during compilation time at parsing. Nowhere else in theweblogic-ejb-jar.xml i can put the
isolation transaction section without receiving some related parsingerror. The same happens
trying to include such transaction section at ejb-jar.xml. I'm
attaching
both xml files. Should
anybody help me saying where that section should be described? And
if
it
should be placed in
another file, why the documentation states for describing it at theweblogic-ejb-jar.xml? -
I can get RMI timeouts working by manually adding timeout="N" to the
XXX_EOImplRTD.xml file in the compiled EJB jar. For example:
<rmi Name="ejb.XXX_EOImpl">
<cluster clusterable="true" />
<method name="*" timeout="500" />
</rmi>
Is there a way to set the timeout by passing a parameter to ejbc or
adding a tag to the weblogic-ejb-jar.xml?
Thanks,
BobI didn't find any
Bob Lee <[email protected]> wrote:
I can get RMI timeouts working by manually adding timeout="N" to the
XXX_EOImplRTD.xml file in the compiled EJB jar. For example:
<rmi Name="ejb.XXX_EOImpl">
<cluster clusterable="true" />
<method name="*" timeout="500" />
</rmi>
Is there a way to set the timeout by passing a parameter to ejbc or
adding a tag to the weblogic-ejb-jar.xml?
Thanks,
Bob--
Dimitri -
Best practice for remote topic subscription with HA
I'd like to create an orchestrator EJB, in cluster A, that must persist some data to a database of record and then publish a business event to a topic. I have two durable subscribers, MDBs on clusters B & C, that need to receive the events and perform some persistence on their side.
I'd like HA so that a failure in any managed server would not interrupt the system. I can live with at least once delivery, but at the same time I'd like to minimize the amount of redundant message processing.
The documentation gets a little convoluted when dealing with clustering. What is the best practice for accomplishing this task? Has anyone successfully implemented a similar solution?
I'm using Weblogic 8.1 SP5, but I wouldn't mind hearing solutions for later versions as well.A managed server failure makes that server's JMS servers unavailable, which, in turn, makes the JMS server's messages unavailable until the either (A) the JMS server is migrated or (B) the managed server is restarted.
For more discussion, see my post today on topic "distributed destinations failover - can't access messages from other node". Also, you might be interested in the circa 8.1 migration white-paper on dev2dev: http://dev2dev.bea.com/pub/a/2004/05/ClusteredJMS.html
Tom -
PS: Here is the "ppsldaprealm.properties" and the
"weblogic.properties" files:
***** ppsldaprealm.properties ****************************************
# Properties for the LDAP realm used for user authentication.
com.nortel.pps.api.ldaprealm.factory=\
com.sun.jndi.ldap.LdapCtxFactory
com.nortel.pps.api.ldaprealm.authentication=\
simple
com.nortel.pps.api.ldaprealm.principal=\
cn=dmanager
com.nortel.pps.api.ldaprealm.credential=\
dmanager
com.nortel.pps.api.ldaprealm.root=\
o=ISPServer Services Inc., c=US
# Properties for the LDAP directory
com.nortel.pps.api.directory.hostname=\
47.128.208.226
com.nortel.pps.api.directory.port=\
889
# Properties for the INA database
com.nortel.pps.api.database.hostname=\
47.128.208.226
com.nortel.pps.api.database.port=\
80
***** weblogic.properties ****************************************
# CORE SECURITY-RELATED PROPERTIES
# Read important information about security at:
# http://www.weblogic.com/docs51/admindocs/properties.html
# REQUIRED: The system password MUST be set in order to start the
# WebLogic Server. This password is case-sensitive, at least 8
characters.
# The username for the privileged user is ALWAYS "system".
# This username and password also includes httpd access (see
# HTTPD properties below).
weblogic.security.realmClass=\
com.nortel.pps.api.util.ldap.LdapRealm
# ADMINISTRATOR PROPERTIES
weblogic.administrator.name=Preside Policy Services
weblogic.httpd.session.cookie.name=PresidePolicyServices
# PRESIDE POLICY SERVICES EJB PROPERTIES
# CLUSTER USERS: Note that ALL EJB deployment should be done in the
# per-cluster properties file ONLY.
# Deploys EJBeans.
weblogic.ejb.deploy=\
EJBs/ppsejb.jar
weblogic.system.nativeIO.enable=false
# DocumentRoot configuration
# The documentRoot is by default set to this directory; change
# as desired. FileServlet, SSIServlet, PageCompileServlet
# and JSPServlet use it.
weblogic.httpd.documentRoot=public_html/
# Servlet reload properties
# Put servlets and classes they depend on below this directory to take
# advantage of dynamic reloading. (WebLogic classes don't belong
# here, and NO directories can be both in your system/environment
# CLASSPATH and in the servlet classpath.) WebLogic checks for
modified
# servlets every reloadCheckSecs and reloads servlets and classes they
# depend on as needed. If reloadCheckSecs is set to -1, classes will
# never be reloaded.
weblogic.httpd.servlet.classpath=\
webgui/ppswebgui.jar
weblogic.httpd.servlet.reloadCheckSecs=1
# WEBLOGIC JSP PROPERTIES
# Sets up automatic page compilation for JSP. Adjust init args for
# directory locations and uncomment to use.
weblogic.httpd.register.*.jsp=\
weblogic.servlet.JSPServlet
weblogic.httpd.initArgs.*.jsp=\
pageCheckSeconds=-1,\
compileCommand=D:/javasoft/jdk1.3/bin/javac,\
workingDir=public_html,\
verbose=true
# PRESIDE POLICY SERVICES SERVLET REGISTRATIONS
# Set ACLs for these as desired
weblogic.httpd.register.PPSFrontComponent=\
com.nortel.pps.webgui.base.FrontComponentAlain,
It looks like you're using a custom realm which needs
to be ported to WLS 6.0. Please consult the
WLS 6.0 documentation on how to implement a custom realm.
One trick you could try is:
1) create a custom realm via the console
2) set the custom realm's realmclassname to the
classname of your custom realm (get this from
your old weblogic.properties file)
3) use the console to set this custom realm as
the active realm - that is:
a) make a caching realm
b) make the caching realm use this custom realm
c) make the realm use the caching realm
4) copy your custom realm's properties file to the
directory you boot WLS from in each of your servers
(like you had to do in WLS 5.1)
5) Boot wls (making sure your custom realm is in
the classpath) - hopefully everything will just work.
If not, you'll need to port your custom realm
(which you should do anyway)
-Tom Moreau -
DistributedManagementException, null BasicDeploymentMBean for deployment
Hi All,
During a wladmin BATCHUPDATE, I got the following error message. My question is: what is the possible reason? What causes an BasicDeploymentMBean to be null? I did a Google-search, I have found similar error messages, but no solution. (Weblogic 10.3, on AIX)
Any idea is welcome.
Best regards, József
On the screen:
Connection pool "lionPool" created successfully.
Executing command: SET -mbean listenOnline:Name=lionPool,Type=JDBCConnectionPool -property Targets "listenOnline:Name=ejb,Type=Cluster"
weblogic.management.DistributedManagementException : Distributed Management [1 exceptions]
[Deployer:149189]Attempt to operate 'remove' on null BasicDeploymentMBean for deployment CP-lionPool.
Operation can not be performed until server is restarted.
in servers/adminServer/logs/adminServer.log:
####<Jul 28, 2009 9:15:35 AM CEST> <Info> <DeploymentService> <abgpp091> <adminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1248765335652> <BEA-290063> <commit for request '1,248,765,335,146' will not proceed further since its requires restart flag is set.>
####<Jul 28, 2009 9:15:35 AM CEST> <Info> <Deployer> <abgpp091> <adminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <jhalasz53> <> <> <1248765335878> <BEA-149038> <Initiating Task for CP-lionPool : [Deployer:149026]remove application CP-lionPool on adminServer.>
####<Jul 28, 2009 9:15:35 AM CEST> <Warning> <Deployer> <abgpp091> <adminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1248765335926> <BEA-149189> <Attempt to operate 'remove' on null BasicDeploymentMBean for deployment CP-lionPool. Operation can not be performed until server is restarted.>
####<Jul 28, 2009 9:15:35 AM CEST> <Warning> <Deployer> <abgpp091> <adminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1248765335946> <BEA-149004> <Failures were detected while initiating remove task for application 'CP-lionPool'.>
####<Jul 28, 2009 9:15:35 AM CEST> <Warning> <Deployer> <abgpp091> <adminServer> <[STANDBY] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1248765335946> <BEA-149078> <Stack trace for message 149004
weblogic.management.DeploymentException: [Deployer:149189]Attempt to operate 'remove' on null BasicDeploymentMBean for deployment CP-lionPool. Operation can not be performed until server is restarted.
at weblogic.deploy.internal.targetserver.DeploymentManager.assertDeploymentMBeanIsNonNull(DeploymentManager.java:1285)
at weblogic.deploy.internal.targetserver.DeploymentManager.findDeploymentMBean(DeploymentManager.java:1326)
at weblogic.deploy.internal.targetserver.DeploymentManager.createOperation(DeploymentManager.java:1098)
at weblogic.deploy.internal.targetserver.DeploymentManager.createOperations(DeploymentManager.java:1372)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleUpdateDeploymentContext(DeploymentManager.java:160)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.updateDeploymentContext(DeploymentServiceDispatcher.java:155)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doUpdateDeploymentContextCallback(DeploymentReceiverCallbackDeliverer.java:133)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.updateDeploymentContext(DeploymentReceiverCallbackDeliverer.java:27)
at weblogic.deploy.service.internal.statemachines.targetserver.ReceivedPrepare.callDeploymentReceivers(ReceivedPrepare.java:203)
at weblogic.deploy.service.internal.statemachines.targetserver.ReceivedPrepare.handlePrepare(ReceivedPrepare.java:112)
at weblogic.deploy.service.internal.statemachines.targetserver.ReceivedPrepare.receivedPrepare(ReceivedPrepare.java:52)
at weblogic.deploy.service.internal.targetserver.TargetRequestImpl.run(TargetRequestImpl.java:211)
at weblogic.deploy.service.internal.transport.CommonMessageReceiver$1.run(CommonMessageReceiver.java:410)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
>I am not so sure any more, that it is a JDBC problem. Though, it is possible, because I could not find any ojdbc6.jar for Oracle 10.2.0.4. [http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html]
We use WebLogic 10.3, and it requires Java *6*. That is why I thought, that it would be good to find an ojdbc6.jar for this Oracle version.
I tried to run the application with ojdbc14.jar and ojdbc6.jar. Interestingly, the results were the same. (I had to use the ojdbc6.jar, that was released for Oracle 11.1.0.7.0)
Yes, Vijay, I do think, that I should contact the WebLogic support team. Anyway, we use AIX LPARs (logical machines on a PowerPC). The application is installed in my home directory. What is more, the same home directory is mounted on all LPARS. So, the application is always mounted through a kind of logical network. But the WebLogic Server is not in my home directory. So, the WebLogic and the application are not in the same fs.
József
Maybe you are looking for
-
Hello, I have been having trouble with Blackberry World. It states that I have apps that need updating, but I already have the most recent update of these apps. In addition, BBW states that I need updates for apps that I no longer have installed o
-
Create source system in BW3.5
Hi all can anybody tell me the procedure for creating source system in BW3.5 using automatic method at this time i create and assign logical system in both BW and R3 system and create Background users in BW system now my confusions are 1 Is
-
How to get rid of bookmarks junk
When I go to Show All Bookmarks, half the screen is black with Apple ads. I want a screen full of bookmarks. How do I get rid of the black half with ad?
-
Internal order and Budget fixing
Hi, The budget is allocated for year 200t against internal order in T code KO22. But while i am tring to create an asset PO its showing error that Budget exceeded in Fiscal year 2008. I think i need to fix budget for 2008. In KO22, in GOTO the Next f
-
Positioning text in same spot on slides
I would like title text to always appear in the same X and Y coordinate on every slide. It seems when some text does not have as many characters it does not start in the same place, but rather is more centered. How can I achieve this? Thanks.