EJB client still need EJB stub when it's already compiled?
Hi,
I know an EJB client needs stub of EJB components to compile itself. However, does an EJB client still need stub when it's executed?
Hi,
I know an EJB client needs stub of EJB components to
compile itself. EJB components should not need access to any stubs at compile time. All they need is access to the API classes, e.g. javax.ejb.*. The need for RMI-IIOP stubs is a vendor-specific issue. Some J2EE implementations require them, some don't. E.g., in the J2EE SDK we don't generate static RMI-IIOP stubs so the developer doesn't have to know about them at all.
However, does an EJB client still
need stub when it's executed?
Similar Messages
-
Do you still need EJB when you can do it all with JSF/JSC?
I think EJBs make J2EE unnecessarily complex for 80% of small to mid or even some large scale applications. When you can separate the logic and view using JSF and Servlets, and still do transactions (using JSC DataProviders), why do you still need EJBs? I have heard nightmares with EJBs deployment and how its complex to move them over from test to production servers.
Are EJBs getting obsolete and not worth learning? Afterall, in the Microsoft world, there is nothing like EJB and all they got is ASP.NET (similar to JSF) -- along with its associated data classes and .NEt framework. I am sure they also promote separating logic from presentation.
I think JSF is the best thing Java world has got to compete with Microsoft on developer productivity for small to medium size applications.
Message was edited by:
SabirJ2EE EJB's are far from being a holy grial capable of solving any situation. They are complex, difficult to learn and code, but we need to be fair and tell the whole story.
EJB's are part of the J2EE technology and offer infrastructure needed in complex applications. I.E., you mention
"When you can separate the logic and view using JSF and Servlets, and still do transactions (using JSC DataProviders)"
but these are only database level transactions. The J2EE app servers can handle global (and distributed) transactions involving different operations over different databases and transactions ruled by non-database software. Just imagine the complexity of handling a "rollback" of this kind. Put that in .NET pipe and try to smoke it.
J2EE EJB Entity Beans were the black sheep of the family. They were oriented to easily handle fine operations (i.e. update a specific record of information) but on the other hand present a poor performance in operations over large sets of data. You can do some optimizations but..... Now the story is a bit different with JavaEE 5 and the Java Persistence API -inspired on Hibernate-.
The bottom line is (as you mention in your post): J2EE/JavaEE are not needed by most of small or mid sized apps. However, I would strongly encourage you to have a look at the JavaEE 5 technology. The fact that portions of the JavaEE technology do not have a counterpart in .NET does not mean that they are not worth to (at least) have a look at them.
Best regards
Antonio -
Still need Time Capsule when iCloud becomes available?
My 500GB TC is full. Planning to buy new MBP. Wondering if I should also buy a new TC. Also wondering whether iCloud will replace TC for backups.
It's my impression that iCloud isn't intended to back up everything on a Mac. If that's right, you wouldn't be able to restore your Mac from iCloud. Even if you could, it might take days.
-
Told I need flash player when it's already installed.
My machine always has the latest adobe flash player, and yet site after site tells me that I need to get flash player before I can use their program. What is going on?
Welcome to the Adobe Forums, Gary.
To better assist you with this issue we need to know:
What is your operating system? (Windows or Mac) (XP, Vista, 7, 8)
What browser do you use? (Internet Explorer, Firefox, Chrome, Opera, Safari) -
Hi, I use jdev 10g. I created a session bean with wizards and after that I created I Ejb client for that bean. When I start the embedded server and run the client java file I get the following error :
com.evermind.server.rmi.OrionRemoteException: jazn.com/admin is not allowed to call this EJB method, check your security settings (method-permission in ejb-jar.xml and security-role-mapping in orion-application.xml).
at denemeSessionHome_StatelessSessionHomeWrapper1.create(denemeSessionHome_StatelessSessionHomeWrapper1.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:124)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
at connection to localhost/127.0.0.1 as admin
at com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMIConnection.java:1527)
at com.evermind.server.rmi.RMIConnection.invokeMethod(RMIConnection.java:1480)
at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:55)
at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:22)
at __Proxy0.create(Unknown Source)
at ejbpackage.denemeSessionClient.main(denemeSessionClient.java:21)
Process exited with exit code 0.
all settings are the default ones.
Anyone has any idea???hi
There was no problem with that... the AdviceClient is not in the package... I needed j2ee.jar and AdviceAppClient.jar to run the client and hte AdviceClient is in C\java\Projects\Advice directory.... can anyone help me with what is wrong with my first command which didnt work ...
java -classpath c:\Sun\AppServer\lib\j2ee.jar;c:\java\Projects\Advice;c:\java\Projects\AdviceAppClient.jar AdviceClient
This one worked though....
java -cp {$CLASSPATH}:"C:\java\Projects\Advice";AdviceAppClient.jar;c:\Sun\AppServer\lib\j2ee.jar; AdviceClient
I dont know what makes the difference...
vidhya -
EJB Client JAR project produces empty JAR
I've built an EJB module in WorkSpace Studio using the "WebLogic EJB Project" type, which is part of an EAR. I created a couple stateless session beans within this project, and then created an EJB Client JAR project using the "EJB Client JAR-->Create EJB Client Jar" menu item on the EJB project's hidden menu.
According to the documentation, exporting an EAR file from the EAR project will cause the client JAR to be generated. I exported the EAR file from the EAR project, and sure enough, it included the client JAR (in /APP-INF/lib/). I extracted the client JAR from the EAR and opened it up to make sure it contained all of the client-side classes. I discovered that the client JAR was empty, the only contents being the MANIFEST.MF file. The interface classes were instead contained in the EJB JAR itself.
How can I get the EJB client code to actually be included in the EJB client JAR?
Thanks,
EricWell I have tried this with 6.1 and first
1. One would expect the jar name to be the name in the ejb-jar.xml -
ejb-client-jar section
2. It outputs the file XXXEJB_Compiled.jar but it is same size as base jar
this is 6.1 sp3
whats up?
Matthew Shinn wrote:
Hi Sanjay,
There is a bug in the documentation. The client-jar name should never be part of the
ejbc command line. Step 3 below should be something like:
java weblogic.ejbc xxxEJB.jar xxxEJB_Compiled.jar
If you have an ejb-client-jar entry in your ejb-jar.xml, the client jar should be placed
in the directory from which you ran ejbc. Make sure that the classes that you want to be
put in the client-jar are not loaded from the classpath. This is very important or your
client-jar won't be created correctly. The client-jar will only contain classes loaded
from the input jar to ejbc. A bug for the incorrect documentation has already been filed
and should be fixed soon.
- Matt
Sanjay Dwivedi wrote:
Hi,
I am trying to use the
<ejb-client-jar> sub-element of the Sun's <ejb-jar> (EB 2.0 DTD) element of the
ejb-jar.xml to generate the ejb-client.jar. I followed the step as documented
by WebLogic but the files in EJB jars and ejb-client jars are identical. Here
is what I am doing:
1. Build the xxxEJB.jar for my EJB by running the WebLogic.ejbc on the standard
EJB jar file.
2. My ejb-jar.xml file has following line:
<ejb-jar>
<ejb-client-jar>xxxEJBClient.jar</ejb-client-jar>
</ejb-jar>
3. Next I used the following command to generate the ejb-client.jar file
java weblogic.ejbc xxxEJB.jar xxxEJBClient.jar
My xxxEJBClient.jar files consists of exactly same files (with same sizes) as
the xxxEJB.jar file. Only difference is that the xxxEJB.jar file includes generated
java source files for the bean implementation class and home/remote classes.
In my opinion the xxxEJBClient.jar should not contain the EJB implementation classes.
Any experience using the ejb-client-jar for generating the ejb-client.jar?
Thanks,
Sanjay.
[att1.html] -
Use EJB client to communicate between 2 systems
I have 2 systems A and B located in separate machine.
A will pass an XML Request String to B, and B will return
an XML Response string to A.
My friend told me to write an EJB client sitting between
A and B, maybe there is a method called process() in EJB Client.
A can call XML_Response = EJB.process(XML_Request);
XML_Response process(XML_Request)
XML_Response = B.process(XML_Request)
return XML_Response
My question is how to get started? My understanding is EJB client
will use EJB Beans. Any ideas??I would use entity beans on both, and then use Message Driven as facades, the message driven beans would communicate between each of the servers.
-
I am getting this problem when running ejb client
Hi,
Any one help me , i am getting this error when i run my ejb Client
D:\sample\Client>
java -Djava.naming.factory.initial=com.sun.jndi.cosnamin
g.CNCtxFactory -Djava.naming.provider.url=iiop://localhost:1050 com.net.ejbexamples.slsb.EJBClient
Exception in thread "main" org.omg.CORBA.COMM_FAILURE: minor code: 1398079490
completed: No
at com.sun.corba.se.internal.iiop.IIOPConnection.writeLock(IIOPConnectio
n.java:956)
at com.sun.corba.se.internal.iiop.IIOPConnection.send(IIOPConnection.jav
a:1017)
at com.sun.corba.se.internal.iiop.IIOPOutputStream.invoke(IIOPOutputStre
am.java:71)
at com.sun.corba.se.internal.iiop.ClientRequestImpl.invoke(ClientRequest
Impl.java:82)
at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.
java:153)
at com.sun.corba.se.internal.corba.InitialNamingClient.resolve(InitialNa
mingClient.java:195)
at com.sun.corba.se.internal.corba.InitialNamingClient.cachedInitialRefe
rences(InitialNamingClient.java:260)
at com.sun.corba.se.internal.corba.InitialNamingClient.resolve_initial_r
eferences(InitialNamingClient.java:183)
at com.sun.corba.se.internal.corba.ORB.resolve_initial_references(ORB.ja
va:1465)
at weblogic.iiop.IORManager.createInitialReference(IORManager.java:113)
at weblogic.corba.j2ee.naming.InitialContextFactoryImpl.getInitialContex
t(InitialContextFactoryImpl.java:96)
at weblogic.corba.j2ee.naming.InitialContextFactoryImpl.getInitialContex
t(InitialContextFactoryImpl.java:86)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialCont
extFactory.java:149)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
60)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241
at javax.naming.InitialContext.init(InitialContext.java:217)
at javax.naming.InitialContext.<init>(InitialContext.java:193)
at com.net.ejbexamples.slsb.EJBClient.main(EJBClient.java:15)
ThanksFound in negative cache.... very strange.
RFC found in negative cache
What is the negative cache? -
Need a Help to Run the EJB client
Hello Friends,
I'm using EJB3.0. while running my client side bean I got a Exception like this " javax.naming.NameNotFoundException: maheshwaran.count not bound." I'm new to EJB so i couldn't find specifically what is the mistake in my files.
I created the following files. It are listed below
FileName: count.java
"package maheshwaran;
public interface count {
public int count();
public void set(int val);
public void remove();
FileName2 : countBean.java
"package maheshwaran;
import javax.ejb.*;
import javax.interceptor.Interceptors;
@Stateful
@Remote(count.class)
@Interceptors(countCallBacks.class)
public class countBean implements count{
private int val;
public int count(){
System.out.println("count()");
return ++val;
public void set(int val){
this.val=val;
System.out.println("set()");
@Remove
public void remove(){
System.out.println("remove()");
FileName3: countCallBacks.java
" package maheshwaran;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.*;
import javax.interceptor.InvocationContext;
public class countCallBacks {
@PostConstruct
public void construct(InvocationContext ctx){
System.out.println("cb:construct()");
@PostActivate
public void activate(InvocationContext ctx){
System.out.println("cb:activate()");
@PrePassivate
public void passivate(InvocationContext ctx){
System.out.println("cb:passivate()");
@PreDestroy
public void destroy(){
System.out.println("cb:destroy()");
The client side class is following: countClient.java
"package maheshwaran;
import javax.naming.*;
public class countClient {
public static final int noofClients=3;
public static void main(String args[]){
try{
Context ctx=new InitialContext(System.getProperties());
count count[]=new count[noofClients];
int countval=0;
System.out.println("Instatntiating Beans");
for(int i=0;i<noofClients;i++){
count=(count) ctx.lookup(count.class.getName());
count.set(countval);
countval=count.count();
System.out.println(countval);
Thread.sleep(100);
System.out.println("Calling count on Beans");
for(int i=0;i<noofClients;i++){
countval=count.count();
System.out.println(countval);
count.remove();
Thread.sleep(50);
}catch(Exception e){e.printStackTrace();}
The Deployment Descriptor file is following: ejb-jar.xml
"><?xml version="1.0" encoding="UTF-8?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
xmlns:xsi="http://www.w3.org/2001/XMLschema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
<description>Stateful Session Bean Example</description>
<display-name>Stateful Session Bean Example</display-name>
<enterprise-beans>
<session>
<ejb-name>countBean</ejb-name>
<business-remote>maheshwaran_dd.count</business-remote>
</business-remote>
<ejb-class>maheshwaran_dd.countBean</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<interceptors>
<interceptor>
<interceptor-class>maheshwaran_dd.countCallBacks</interceptor-class>
<post-construct>
<lifecycle-callback-method>construct</lifecycle-clallback-method>
</post-construct>
<post-activate>
<lifecycle-callback-method>activate</lifecycle-callback-method>
</post-activate>
<pre-passivate>
<lifecycle-callback-method>passivate</lifecycle-callback-method>
</pre-passivate>
</interceptor>
</interceptors>
<assembly-descriptor>
<interceptor-binding>
<ejb-name>countBean</ejb-name>
<interceptor-class>maheshwaran_dd.countCallBacks</interceptor-class>
</interceptor-binding>
</assembly-descriptor>
</ejb-jar> "
please help me to rectify this problem.
Thanks & regards,
Maheshwaran DevarajHi,
user586 wrote:
i want to write the query to select the coupon whose Expiry date in the table is NOT within 30 days.If you mean expirationdate (datatype: DATE) is not within 30 days (past or future) of run time, then:
SELECT coupon -- or whatever columns you want
FROM table_x
WHERE expirationdate NOT BETWEEN SYSDATE - 30
AND SYSDATE + 30
; -
Hi,
I have a question on using EJB / or RMI servers with CORBA clients using
RMI-IIOP transport, which in theory should work, but in practice has few
glitches.
Basically, I have implemented a very simple server, StockTreader, which
looks up for a symbol and returns a 'Stock' object. In the first example, I
simplified the 'Stock' object to be a mere java.lang.String, so that lookup
would simply return the 'synbol'.
Then I have implemented the above, as an RMI-IIOP server (case 1) and a
CORBA server (case 2) with respective clients, and the pair of
client-servers work fine as long as they are CORBA-to-CORBA and RMI-to-RMI.
But the problem arises when I tried using the RMI server (via IIOP) with the
CORBA client, when the client tries to narrow the object ref obtained from
the naming service into the CORBA idl defined type (StockTrader) it ends up
with a class cast exception.
This is what I did to achieve the above results:
[1] Define an RMI interface StockTrader.java (extending java.rmi.Remote)
with the method,
public String lookup( String symbol) throws RMIException;
[2] Implement the StorckTrader interface (on a PortableRemoteObject derived
class, to make it IIOP compliant), and then the server to register the stock
trader with COS Naming service as follows:
String homeName =....
StockTraderImpl trader =new StockTraderImpl();
System.out.println("binding obj <" homeName ">...");
java.util.Hashtable ht =new java.util.Hashtable();
ht.put("java.naming.factory.initial", args[2]);
ht.put("java.naming.provider.url", args[3]);
Context ctx =new InitialContext(ht);
ctx.rebind(homeName, trader);
[3] Generate the RMI-IIOP skeletons for the Implementation class,
rmic -iiop stock.StockTraderImpl
[4] generate the IDL for the RMI interface,
rmic -idl stock.StockTraderImpl
[5] Generate IDL stubs for the CORBA client,
idlj -v -fclient -emitAll StockTraderImpl.idl
[6] Write the client to use the IDL-defined stock trader,
String serverName =args[0];
String symList =args[1];
StockClient client =new StockClient();
System.out.println("init orb...");
ORB orb =ORB.init(args, null);
System.out.println("resolve init name service...");
org.omg.CORBA.Object objRef
=orb.resolve_initial_references("NameService");
NamingContext naming =NamingContextHelper.narrow(objRef);
... define a naming component etc...
org.omg.CORBA.Object obj =naming.resolve(...);
System.out.println("narrow objRef: " obj.getClass() ": " +obj);
StockTrader trader =StockTraderHelper.narrow(obj);
[7] Compile all the classes using Java 1.2.2
[8] start tnameserv (naming service), then the server to register the RMI
server obj
[9] Run the CORBA client, passing it the COSNaming service ref name (with
which the server obj is registered)
The CORBA client successfully finds the server obj ref in the naming
service, the operation StockTraderHelper.narrow() fails in the segment
below, with a class cast exception:
org.omg.CORBA.Object obj =naming.resolve(...);
StockTrader trader =StockTraderHelper.narrow(obj);
The <obj> returned by naming service turns out to be of the type;
class com.sun.rmi.iiop.CDRInputStream$1
This is of the same type when stock trader object is registered in a CORBA
server (as opposed to an RMI server), but works correctly with no casting
excpetions..
Any ideas / hints very welcome.
thanks in advance,
-hariOn the contrary... all that is being said is that we needed to provide clearer examples/documentation in the 5.1.0 release. There will be no difference between the product as found in the service pack and the product found in the 5.1.1. That is, the only substantive will be that 5.1.1 will also
include the examples.
"<=one way=>" wrote:
With reference to your and other messages, it appears that one should not
expect that WLS RMI-IIOP will work in a complex real-life system, at least
not now. In other words, support for real-life CORBA clients is not an
option in the current release of WLS.
TIA
"Eduardo Ceballos" <[email protected]> wrote in message
news:[email protected]...
We currently publish an IDL example, even though the IDL programmingmodel in Java is completely non-functional, in anticipation of the support
needs for uses who need to use IDL to talk to the Weblogic server,
generically. This example illustrates the simplest connectivity; it does not
address how
to integrate CORBA and EJB, a broad topic, fraught with peril, imo. I'llnote in passing that, to my knowledge, none of the other vendors attempt
this topic either, a point which is telling if all the less happy to hear.
For the record then, what is missing from our distribution wrt RMI-IIOPare a RMI-IIOP example, an EJB-IIOP example, an EJB-C++. In this you are
correct; better examples are forth coming.
Still, I would not call our RMI-IIOP implementation fragile. I would saythat customers have an understandably hard time accepting that the IDL
programming model is busted; busted in the sense that there are no C++
libraries to support the EJB model, and busted in the sense that there is
simply no
support in Java for an IDL interface to an EJB. Weblogic has nothing to doit being busted, although we are trying to help our customers deal with it
in productive ways.
For the moment, what there is is a RMI (over IIOP) programming model, aninherently Java to Java programming model, and true to that, we accept and
dispatch IIOP request into RMI server objects. The way I look at it is this:
it's just a protocol, like HTTP, or JRMP; it's not IDL and it has
practically nothing to do with CORBA.
ST wrote:
Eduardo,
Can you give us more details about the comment below:
I fear that as soon as the call to narrow succeeds, the remainingapplication will fail to work correctly because it is too difficult ot
use an idl client in java to work.It seems to me that Weblogic's RMI-IIOP is a very fragile
implementation. We
don't need a "HelloWorld" example, we need a concrete serious example(fully
tested and seriously documented) that works so that we can get a betteridea
on how to integrate CORBA and EJB.
Thanks,
Said
"Eduardo Ceballos" <[email protected]> wrote in message
news:[email protected]...
Please post request to the news group...
As I said, you must separate the idl related classes (class files and
java
files) from the rmi classes... in the rmic step, you must set a newtarget
(as you did), emit the java files into that directory (it's not clearyou
did this), then remove all the rmi class files from the class path... ifyou
need to compile more classes at that point, copy the java files to theidl
directly is you must, but you can not share the types in any way.
I fear that as soon as the call to narrow succeeds, the remainingapplication will fail to work correctly because it is too difficult otuse
an idl client in java to work.
Harindra Rajapakshe wrote:
Hi Eduardo,
Thanks for the help. That is the way I compiled my CORBA client, by
separating the IDL-generated stubs from the RMI ones, but still I
get a
CORBA.BAD_PARAM upon narrowing the client proxy to the interfacetype.
Here's what I did;
+ Define the RMI interfaces, in this case a StockTrader interface.
+ Implement RMI interface by extendingjavax.rmi.PortableRemoteObject
making
it IIOP compliant
+ Implemnnt an RMI server, and compile using JDK1.2.2
+ use the RMI implementation to generate CORBA idl, using RMI-IIOPplugin
utility rmic;
rmic -idl -noValueMethods -always -d idl stock.StockTraderImpl
+ generate Java mappings to the IDL generated above, using RMI-IIOPplugin
util,
idlj -v -fclient -emitAll -tf src stocks\StockTrader.idl
This creates source for the package stock and also
org.omg.CORBA.*
package, presumably IIOP type marshalling
+ compile all classes generated above using JDK1.2.2
+ Implement client (CORBA) using the classes generated above, NOTthe
RMI
proxies.
+ start RMI server, with stockTrader server obj
+ start tnameserv
+ start CORBA client
Then the client errors when trying to narrow the obj ref from the
naming
service, into the CORBA IDL defined interface using,
org.omg.CORBA.Object obj =naming.resolve(nn);
StockTrader trader =StockTraderHelper.narrow(obj); // THIS
ERRORS..!!!
throwing a CORBA.BAD_PARAM exception.
any ideas..?
Thanks in advance,
-hari
----- Original Message -----
From: Eduardo Ceballos <[email protected]>
Newsgroups: weblogic.developer.interest.rmi-iiop
To: Hari Rajapakshe <[email protected]>
Sent: Wednesday, July 26, 2000 4:38 AM
Subject: Re: problem using CORBA clients with RMI/EJBservers..!!!???
Please see the post on june 26, re Errors compiling... somewherein
there,
I suspect, you are referring to the rmi class file when you are
obliged
to
completely segregate these from the idl class files.
Hari Rajapakshe wrote:
Hi,
I have a question on using EJB / or RMI servers with CORBA
clients
using
RMI-IIOP transport, which in theory should work, but in practice
has
few
glitches.
Basically, I have implemented a very simple server,
StockTreader,
which
looks up for a symbol and returns a 'Stock' object. In the firstexample, I
simplified the 'Stock' object to be a mere java.lang.String, so
that
lookup
would simply return the 'synbol'.
Then I have implemented the above, as an RMI-IIOP server (case
1)
and a
CORBA server (case 2) with respective clients, and the pair of
client-servers work fine as long as they are CORBA-to-CORBA andRMI-to-RMI.
But the problem arises when I tried using the RMI server (via
IIOP)
with
the
CORBA client, when the client tries to narrow the object ref
obtained
from
the naming service into the CORBA idl defined type (StockTrader)
it
ends
up
with a class cast exception.
This is what I did to achieve the above results:
[1] Define an RMI interface StockTrader.java (extending
java.rmi.Remote)
with the method,
public String lookup( String symbol) throws RMIException;
[2] Implement the StorckTrader interface (on a
PortableRemoteObject
derived
class, to make it IIOP compliant), and then the server to
register
the
stock
trader with COS Naming service as follows:
String homeName =....
StockTraderImpl trader =new StockTraderImpl();
System.out.println("binding obj <" homeName ">...");
java.util.Hashtable ht =new java.util.Hashtable();
ht.put("java.naming.factory.initial", args[2]);
ht.put("java.naming.provider.url", args[3]);
Context ctx =new InitialContext(ht);
ctx.rebind(homeName, trader);
[3] Generate the RMI-IIOP skeletons for the Implementation
class,
rmic -iiop stock.StockTraderImpl
[4] generate the IDL for the RMI interface,
rmic -idl stock.StockTraderImpl
[5] Generate IDL stubs for the CORBA client,
idlj -v -fclient -emitAll StockTraderImpl.idl
[6] Write the client to use the IDL-defined stock trader,
String serverName =args[0];
String symList =args[1];
StockClient client =new StockClient();
System.out.println("init orb...");
ORB orb =ORB.init(args, null);
System.out.println("resolve init name service...");
org.omg.CORBA.Object objRef
=orb.resolve_initial_references("NameService");
NamingContext naming=NamingContextHelper.narrow(objRef);
... define a naming component etc...
org.omg.CORBA.Object obj =naming.resolve(...);
System.out.println("narrow objRef: " obj.getClass() ":"
+obj);
StockTrader trader =StockTraderHelper.narrow(obj);
[7] Compile all the classes using Java 1.2.2
[8] start tnameserv (naming service), then the server to
register
the
RMI
server obj
[9] Run the CORBA client, passing it the COSNaming service ref
name
(with
which the server obj is registered)
The CORBA client successfully finds the server obj ref in the
naming
service, the operation StockTraderHelper.narrow() fails in thesegment
below, with a class cast exception:
org.omg.CORBA.Object obj =naming.resolve(...);
StockTrader trader =StockTraderHelper.narrow(obj);
The <obj> returned by naming service turns out to be of the
type;
class com.sun.rmi.iiop.CDRInputStream$1
This is of the same type when stock trader object is registeredin a
CORBA
server (as opposed to an RMI server), but works correctly with
no
casting
excpetions..
Any ideas / hints very welcome.
thanks in advance,
-hari -
How to get remote ejb client working with Weblogic 8.1?
I have Weblogic 8.1 running on a WinXP box behind my firewall. Port 7001 is open to WL and remote browsers can access the console.
I have a client machine running WinXP on a different network that is remote to the WL server. It can ping the WL server machine.
I use JVM 1.4.2_08 on all machines.
If I put my client machine on the LAN with the WL server, then my EJB test client works fine. If I put the client machine on the remote network then the test client fails with a ClassCastException when trying to do a PortableRemoteObject.narrow on the bean home.
I had this running fine on JBoss 3.22 using RMI over HTTP. I added an HTTP invoker service to my jboss.xml file. I don't know if something similar is needed on the Weblogic side - any ideas on that? All I've done on the WL side is turn on Tunneling - which obviously works because the remote client gets a correct home object when doing a lookup on the bean - based on the IOR string of the home obj.
Below I include my client code, exception, ejb-jar.xml and my weblogic-ejb-jar.xml.
Any ideas on what else needs to be done so that a remote client can do a PortableRemoteObject.narrow? My client.jar has all of the EJB classes, and runs fine when run from LAN.
Thanks,
--BobC
Client Code
Properties p = new Properties();
p.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
p.put("java.naming.provider.url", "http://66.114.140.213:7001");
InitialContext ic = new InitialContext(p);
// Test register bean
Object homeObj = ic.lookup("tacplanner/register");
RegisterHome home = (RegisterHome) PortableRemoteObject.narrow(homeObj, RegisterHome.class); // <<< ClassCastException here
Exception
java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:293)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
at com.nimblus.tacplanner.test.TestUtils.<init>(TestUtils.java:60)
at com.nimblus.tacplanner.test.TestUtils.main(TestUtils.java:196)
ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>register</ejb-name>
<home> com.nimblus.tacplanner.server.ejb.stateless.RegisterHome</home>
<remote> com.nimblus.tacplanner.server.ejb.stateless.Register</remote>
<ejb-class>com.nimblus.tacplanner.server.ejb.stateless.RegisterSession</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<resource-ref>
<description>The Oracle Datasource</description>
<res-ref-name>java:/OracleDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>register</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</ejb-jar>
weblogic-ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE weblogic-ejb-jar PUBLIC
'-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN'
'http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>register</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</pool>
</stateless-session-descriptor>
<reference-descriptor>
<resource-description>
<res-ref-name>jdbc/OracleDS</res-ref-name>
<jndi-name>OracleDS</jndi-name>
</resource-description>
</reference-descriptor>
<enable-call-by-reference>True</enable-call-by-reference>
<jndi-name>tacplanner/register</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
--------------------Problem solved.
For remote clients you need to generate and use the stub classes for EJB interfaces using Weblogic's appc utility.
See: "http://e-docs.bea.com/wls/docs81/ejb/appc_ejbc.html#1151900"
--BobC -
Hi,
I have a java client application using EJBs, and talking to a EJB server (j2ee sdk 1.3) successfully.
Now I stop the EJB server while the client is running, and restart the server again. I would like my client to recover automatically without the need of stoppin/restarting it.
When the server stops, my client enters in a 'resume mode' when it tries to recreate new EJBs.
Unfortunately, when the server is back up and running, the creation of EJBs still raises a MarshallException and it even hangs after a while.
My approach is a bit innocent, but is there a smarter solution that would work?
ThanksTry to do a clean up at the client code when u determine that the EJB server is down. Is the intent to failover to another ejb server and continue with the session then you may require Sun's enterprise edition which supports sfsb failover.
-
Basic question: what to provide EJB client
Weblogic 6.1, SP1, on Red Hat Linux and Windows 2000
I have been developing an application for a few months now, but all EJBs have
only had local interfaces. My team now needs to expose a few remote interfaces
to another division of my company that's using WLS on another server. I understand
the changes that I need to make on the server side. I have searched the documentation
several times for help, but I can't seem to find a "Start here" page on how to
create the client Jar.
My understanding is this so far. For the server that will contain and run the
beans, I still bundle up the MyServiceBean, MyServiceRemote, and MyServiceHome
class files into a jar and run ejbc to perform the EJB compiling. My Manifest's
Class-Path element references some helper Jars like exceptions and value objects.
Once that's done, I then create a separate jar for the client. I must modify
my ejb-jar.xml file to add an ejb-client-jar element with MyServiceClient.jar
(or whatever the final file name will be) as its value. The client jar should
otherwise contain the same classes as the server jar, but without the bean class.
And then I also just provide the helper jars as well.
I'm sure I don't have this right yet, and I'd really appreciate some insight.
But then I have a more fundamental question: how does the client know which server
contains my EJBs? I haven't found this info in any deployment descriptor. The
only guess I have so far is that when the client creates an InitialContext to
fetch the home interface, they have to specify a ProviderUrl with my server's
IP address when they create an Environment.
Any help would be greatly appreciated. Thanks so much.
AndyYou don't really need to put an entry for ejb-client-jar element in the
ejb-jar.xml. You can still create your client and run it. Only thing is that
you need to put ur client jar in the classpath of your java client.
Hey Seth, where exactly is the ejb-client-jar entry is used ? I mean without
this also you can run ur client. Where does this help?
Rupesh.
Andrew Byala <[email protected]> wrote in message
news:[email protected]...
>
Hey, thanks for the rapid reply, Seth. But I'm wondering about theejb-client-jar
element of the ejb-jar.xml file. It seems a bit silly to use the xml filein
one version to generate my server-side Jar, and then have to make anotherversion
to generate the client-side Jar. Is there a simple way to do this withoutwriting
custom Ant tasks or anything like that?
Seth White <[email protected]> wrote:
Andrew Byala wrote:
Weblogic 6.1, SP1, on Red Hat Linux and Windows 2000
I have been developing an application for a few months now, but allEJBs have
only had local interfaces. My team now needs to expose a few remoteinterfaces
to another division of my company that's using WLS on another server.I understand
the changes that I need to make on the server side. I have searchedthe documentation
several times for help, but I can't seem to find a "Start here" pageon how to
create the client Jar.
My understanding is this so far. For the server that will containand run the
beans, I still bundle up the MyServiceBean, MyServiceRemote, and
MyServiceHome
class files into a jar and run ejbc to perform the EJB compiling.My Manifest's
Class-Path element references some helper Jars like exceptions andvalue objects.
Once that's done, I then create a separate jar for the client. I mustmodify
my ejb-jar.xml file to add an ejb-client-jar element with
MyServiceClient.jar
(or whatever the final file name will be) as its value. The clientjar should
otherwise contain the same classes as the server jar, but without thebean class.
And then I also just provide the helper jars as well.
I'm sure I don't have this right yet, and I'd really appreciate someinsight.
Sounds like you've got it, actually. The client just needs to have the
remote interface
classes
for the bean + helper classes in its classpath. Any generated RMIclasses
will be loaded
over the network, if needed.
But then I have a more fundamental question: how does the client knowwhich server
contains my EJBs? I haven't found this info in any deployment
descriptor.
The
only guess I have so far is that when the client creates an
InitialContext
to
fetch the home interface, they have to specify a ProviderUrl with myserver's
IP address when they create an Environment.To the best of my knowledge, this is correct as well.
Any help would be greatly appreciated. Thanks so much.
Andy -
How can I run EJB Client in other computer ?
Hello,
I'm trying to run converter examples.
if ejb client pgm resides on a same machine with j2ee server , it works fine.
But when I put client pgm on a different maching
below message show.
No application client descriptors defined for: ConverterClinet
I put ConverterApp.ear, ConverterAppClient.jar and ConverterClient.class on the machine and
set APPCPATH=ConverterAppClient.jar
set VMARGS=-Dorg.omg.CORBA.ORBInitialHost=xxx.xxx.xx.xx
What should I do to run ejb client on different machine?Hi SangHPark,
I had the same problem but have solved it and it works.
I ran the client remotely from a win98 box.
Keep two things in mind
1> Deploy the applications to an ip address and not to the local host using the deploy too. Use the deploy tool Gui to add a new server and then deploy the application to this ip address.
2> I am running j2ee version 1.3 and jsdk 1.3
Use the following code but instead of using "java:comp/env/ejb/SimpleConverter" use the jndi name of the object: "MyConverter" as specified in the tutorial.
Properties prop = new Properties();
prop.setProperty(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
prop.setProperty(Context.PROVIDER_URL,"IIOP://xxx.xx.x.xxx:1050");
System.out.println("Attempting to create context...");
Context initial = new InitialContext(prop);
// Instead of this use the below line of code
//Object objref = initial.lookup("java:comp/env/ejb/SimpleConverter");
Object objref = initial.lookup("MyConverter");
// MyConverter is the Jndi name of the ConverterBean as per the tutorial
You need to do the following things.
1> After making changes to the code recompile using Ant and redeploy it.
2> Copy the j2ee.jar, ConverterAppClient.jar and ConverterClient.class file to the machine that u want to run the client from.
3> create a directory called "config" on the remote machine where you copied the files in step two.
4> Copy to this directory the files ejb.properties and security.properties from your j2ee_home\config\ directory.
For example you copied the files in step 2 on the remote machine in the c:\test directory. Create c:\test\config directory and copy the files from step 4 into this directory.
5> Run the following command from the directory where u copied the client files
java -Dorg.omg.CORBA.ORBInitialHost="host name" -classpath .\j2ee.jar;.;.\ConverterAppClient.jar ConverterClient
Monal -
I tried to ask this question a few months ago, but I must not have given enough
details
for anyone to even guess what my problem might be. So I created a simple example
to
demonstrate what's happening.
I have a cluster of 2 WL servers (7.0) running on Linux. When I call an EJB multiple
times at once from different threads in a client application, sometimes all the
threads
finish in a few milliseconds, but other times at least one of the threads will
pause
for 60 seconds before finishing. There are no error or warning indicators in any
server
log files. I'm trying to do something very simple: add one to a number in a database
table without letting any two clients get the same number.
I'm using DB2 as my database and COM.ibm.db2.jdbc.app.Driver as my driver. I have
a
JDBC connection pool and a DataSource, which I'm using in a stateless session
bean.
I lock the table in exclusive mode, query the current number, and add one to it.
I'm
using container-managed transactions, so I'm relying on the container to commit
the
update when the method ends. (I tried using a bean-managed transaction, and I
got the
same results.)
For a long time I believed the problem must be with DB2, but when I put the exact
same
code in a JSP, it works just fine. So I know that DB2 can do what I'm asking it
to do.
I also tried it on a Windows NT server, and it behaves exactly the same. Comparing
thread dumps of the two servers in the cluster taken during one of these 60 second
wait periods doesn't show any obvious problems: the two servers both have exactly
the
same threads going, and they all seem pretty reasonable to me.
Here is the code for my EJB:
package com.davisvision.cv;
import java.sql.*;
import javax.ejb.*;
public class SimpleBean implements SessionBean {
SessionContext ctx;
public void ejbCreate() {
public void ejbPostCreate() {
public void ejbRemove() {
public void ejbActivate() {
public void ejbPassivate() {
public void setSessionContext(SessionContext c) {
ctx = c;
public int nextNumber() {
String tableName = "TEST.PROVIDER_SPAWN";
Connection con = null;
int num = 0;
try {
con = CvDatabase.getConnection();
con.setAutoCommit(false);
Statement stmt = con.createStatement();
stmt.executeUpdate("LOCK TABLE " + tableName + " IN EXCLUSIVE MODE");
ResultSet rs = stmt.executeQuery("SELECT NEXT_OFFICE_NUM FROM "
+ tableName + " WHERE PROVIDER_TYPE = 'DAVIS2'");
if (rs.next()) {
num = rs.getInt(1);
num++;
int updated = stmt.executeUpdate("UPDATE " + tableName
+ " SET NEXT_OFFICE_NUM = " + num
+ " WHERE PROVIDER_TYPE = 'DAVIS2'");
catch(Exception e) {
num = -1;
Logger.writeDated(Logger.FATAL, "SimpleBean.nextNumber: " + e);
finally {
CvDatabase.close(con);
return num;
And here is my client application:
package test;
import com.davisvision.cv.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
public class TestSimpleBean implements Runnable {
static InitialContext ctx;
public int taskNum;
static void getContext() {
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://weblogictest:7055");
try {
ctx = new InitialContext(env);
catch(NamingException e) {
System.out.println("Unable to obtain an initial JNDI context:
" + e);
public void run() {
System.out.println("Thread " + taskNum + " started.");
try {
Object obj = ctx.lookup("ejb-cv-Simple");
SimpleHome h = (SimpleHome) PortableRemoteObject.narrow(obj, SimpleHome.class);
SimpleRemote r = h.create();
int n = r.nextNumber();
System.out.println("Thread " + taskNum + " next number = " + n);
catch(Exception e) {
System.out.println("Error in thread " + taskNum + ": " + e);
System.out.println("Thread " + taskNum + " ended.");
public static void main(String[] args) {
getContext();
int n = 3;
TestSimpleBean x = null;
Thread t = null;
// start each thread
for (int i = 0; i < n; i++) {
x = new TestSimpleBean();
x.taskNum = i;
t = new Thread(x);
t.start();
System.out.println("" + n + " threads started.");
My deployment descriptors are as simple as I could make them:
<?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>
<session>
<ejb-name>Simple</ejb-name>
<home>com.davisvision.cv.SimpleHome</home>
<remote>com.davisvision.cv.SimpleRemote</remote>
<ejb-class>com.davisvision.cv.SimpleBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Simple</ejb-name>
<method-name>
</method-name>
</method>
<trans-attribute>
Required
</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
<?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>Simple</ejb-name>
<jndi-name>ejb-cv-Simple</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
This is from part of a production application, so to make sure our users aren't
getting
random 60-second pauses, I have the production bean deployed on just one server
in the
cluster with just one bean in the pool. But I really need to find the solution
to this
problem before development goes much further. Any guesses, sugestions, or conjectures
would be most welcome.
- garyOops, I didn't notice that I only attached one file last time. The thread dump
from the other server in the cluster is attached.
My (off-topic) Linux problem must be something else: Signaling the parent
java process was one of the first things I tried. It may have to do with the
way that we start WL (in the background with nohup).
- gary
Rob Woollen <[email protected]> wrote:
Gary Bradshaw wrote:
Thanks for your response, Rob. I've attached the thread dumps, hopingthat they
will be easier to read that way. They are from a Windows NT system:Thanks. Are you sure this is the right dump? The server looks
completely idle in this dump.
I haven't
yet found a way to get a thread dump on my Linux system. (I know Ishould say
"kill -3 <processId>", but each WLS has at least 72 process IDs. MaybeI just
haven't found the right one yet.)Try ps -ef --forest . It'll show you graphically with a little ascii
art the parent process/thread.
-- Rob
Your suggestion to do the update first would work for this particularexample
since I know I always want to add 1 to the number, but in other similarsituations
I will want to vary the update based on the values I find in the row.I'm looking
for a clean way to safely do multi-user updates with JDBC. (For larger,more important
tables I'm using entity beans).
- gary
Rob Woollen <[email protected]> wrote:
Can you post the thread dumps?
Also usually people do something like this:
update mytable set count = count + 1
select count from mytable
-- Rob
Gary Bradshaw wrote:
I tried to ask this question a few months ago, but I must not havegiven enough
details
for anyone to even guess what my problem might be. So I created a
simple
example
to
demonstrate what's happening.
I have a cluster of 2 WL servers (7.0) running on Linux. When I callan EJB multiple
times at once from different threads in a client application, sometimesall the
threads
finish in a few milliseconds, but other times at least one of the
threads
will
pause
for 60 seconds before finishing. There are no error or warning indicatorsin any
server
log files. I'm trying to do something very simple: add one to a numberin a database
table without letting any two clients get the same number.
I'm using DB2 as my database and COM.ibm.db2.jdbc.app.Driver as mydriver. I have
a
JDBC connection pool and a DataSource, which I'm using in a statelesssession
bean.
I lock the table in exclusive mode, query the current number, and
add
one to it.
I'm
using container-managed transactions, so I'm relying on the containerto commit
the
update when the method ends. (I tried using a bean-managed transaction,and I
got the
same results.)
For a long time I believed the problem must be with DB2, but when
I
put the exact
same
code in a JSP, it works just fine. So I know that DB2 can do what
I'm
asking it
to do.
I also tried it on a Windows NT server, and it behaves exactly thesame. Comparing
thread dumps of the two servers in the cluster taken during one ofthese 60 second
wait periods doesn't show any obvious problems: the two servers bothhave exactly
the
same threads going, and they all seem pretty reasonable to me.
Here is the code for my EJB:
package com.davisvision.cv;
import java.sql.*;
import javax.ejb.*;
public class SimpleBean implements SessionBean {
SessionContext ctx;
public void ejbCreate() {
public void ejbPostCreate() {
public void ejbRemove() {
public void ejbActivate() {
public void ejbPassivate() {
public void setSessionContext(SessionContext c) {
ctx = c;
public int nextNumber() {
String tableName = "TEST.PROVIDER_SPAWN";
Connection con = null;
int num = 0;
try {
con = CvDatabase.getConnection();
con.setAutoCommit(false);
Statement stmt = con.createStatement();
stmt.executeUpdate("LOCK TABLE " + tableName + " IN EXCLUSIVEMODE");
ResultSet rs = stmt.executeQuery("SELECT NEXT_OFFICE_NUM
FROM "
+ tableName + " WHERE PROVIDER_TYPE = 'DAVIS2'");
if (rs.next()) {
num = rs.getInt(1);
num++;
int updated = stmt.executeUpdate("UPDATE " + tableName
+ " SET NEXT_OFFICE_NUM = " + num
+ " WHERE PROVIDER_TYPE = 'DAVIS2'");
catch(Exception e) {
num = -1;
Logger.writeDated(Logger.FATAL, "SimpleBean.nextNumber:" + e);
finally {
CvDatabase.close(con);
return num;
And here is my client application:
package test;
import com.davisvision.cv.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
public class TestSimpleBean implements Runnable {
static InitialContext ctx;
public int taskNum;
static void getContext() {
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://weblogictest:7055");
try {
ctx = new InitialContext(env);
catch(NamingException e) {
System.out.println("Unable to obtain an initial JNDIcontext:
" + e);
public void run() {
System.out.println("Thread " + taskNum + " started.");
try {
Object obj = ctx.lookup("ejb-cv-Simple");
SimpleHome h = (SimpleHome) PortableRemoteObject.narrow(obj,SimpleHome.class);
SimpleRemote r = h.create();
int n = r.nextNumber();
System.out.println("Thread " + taskNum + " next number= " + n);
catch(Exception e) {
System.out.println("Error in thread " + taskNum +
" + e);
System.out.println("Thread " + taskNum + " ended.");
public static void main(String[] args) {
getContext();
int n = 3;
TestSimpleBean x = null;
Thread t = null;
// start each thread
for (int i = 0; i < n; i++) {
x = new TestSimpleBean();
x.taskNum = i;
t = new Thread(x);
t.start();
System.out.println("" + n + " threads started.");
My deployment descriptors are as simple as I could make them:
<?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>
<session>
<ejb-name>Simple</ejb-name>
<home>com.davisvision.cv.SimpleHome</home>
<remote>com.davisvision.cv.SimpleRemote</remote>
<ejb-class>com.davisvision.cv.SimpleBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Simple</ejb-name>
<method-name>
</method-name>
</method>
<trans-attribute>
Required
</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
<?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>Simple</ejb-name>
<jndi-name>ejb-cv-Simple</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
This is from part of a production application, so to make sure ourusers aren't
getting
random 60-second pauses, I have the production bean deployed on justone server
in the
cluster with just one bean in the pool. But I really need to find
the
solution
to this
problem before development goes much further. Any guesses, sugestions,or conjectures
would be most welcome.
- gary------------------------------------------------------------------------
Full thread dump:
"Thread-7" daemon prio=5 tid=0x868400 nid=0x1f8 waiting on monitor[0x136ff000..0x136ffdc0]
at java.lang.Thread.sleep(Native Method)
at com.davisvision.cv.CvProperties.run(CvProperties.java:153)
at java.lang.Thread.run(Thread.java:479)
"ListenThread.Default" prio=5 tid=0x8647d0 nid=0x1f0 runnable [0x136bf000..0x136bfdc0]
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
at java.net.ServerSocket.implAccept(ServerSocket.java:238)
at java.net.ServerSocket.accept(ServerSocket.java:217)
at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)
"ExecuteThread: '0' for queue: 'JMS.TimerTreePool'" daemon prio=5 tid=0x84d220nid=0x1e9 waiting on monitor [0x1312f000..0x1312fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '3' for queue: 'JMS.TimerClientPool'" daemon prio=5tid=0x84c040 nid=0x1e8 waiting on monitor [0x130ef000..0x130efdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '2' for queue: 'JMS.TimerClientPool'" daemon prio=5tid=0x84c580 nid=0x1e7 waiting on monitor [0x130af000..0x130afdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '1' for queue: 'JMS.TimerClientPool'" daemon prio=5tid=0x84cec0 nid=0x1a1 waiting on monitor [0x1306f000..0x1306fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: 'JMS.TimerClientPool'" daemon prio=5tid=0x84b370 nid=0x1a0 waiting on monitor [0x1302f000..0x1302fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"CoreHealthMonitor" daemon prio=5 tid=0x829e30 nid=0x1e6 waiting onmonitor [0x12fef000..0x12fefdc0]
at java.lang.Thread.sleep(Native Method)
at weblogic.t3.srvr.CoreHealthMonitorThread.run(CoreHealthMonitorThread.java:114)
"ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x820420nid=0x1e5 waiting on monitor [0x12faf000..0x12fafdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81f2d0nid=0x1e4 waiting on monitor [0x12f6f000..0x12f6fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81fec0nid=0x1e3 waiting on monitor [0x12f2f000..0x12f2fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81eac0nid=0x1e2 waiting on monitor [0x12eef000..0x12eefdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81d6c0nid=0x1e1 waiting on monitor [0x12eaf000..0x12eafdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81c2d0nid=0x1e0 waiting on monitor [0x12e6f000..0x12e6fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81cec0nid=0x1df waiting on monitor [0x12e2f000..0x12e2fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81bac0nid=0x1de waiting on monitor [0x12def000..0x12defdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x81a6c0nid=0x1dd waiting on monitor [0x12daf000..0x12dafdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x8192d0nid=0x1dc waiting on monitor [0x12d6f000..0x12d6fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x819ec0nid=0x1db waiting on monitor [0x12d2f000..0x12d2fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x818990nid=0x1da waiting on monitor [0x12cef000..0x12cefdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x817630nid=0x1d9 waiting on monitor [0x12caf000..0x12cafdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x816150nid=0x1d8 waiting on monitor [0x12c6f000..0x12c6fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x816690nid=0x1d7 waiting on monitor [0x12c2f000..0x12c2fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5 tid=0x811cc0 nid=0x1d6 waiting on monitor [0x12bef000..0x12befdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5 tid=0x8104c0 nid=0x1d5 waiting on monitor [0x12baf000..0x12bafdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemonprio=5 tid=0x80f020 nid=0x1d4 waiting on monitor [0x12b6f000..0x12b6fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"Thread-4" prio=5 tid=0x80e440 nid=0x1d3 waiting on monitor [0x12b2f000..0x12b2fdc0]
at java.lang.Object.wait(Native Method)
at java.util.TimerThread.mainLoop(Timer.java:427)
at java.util.TimerThread.run(Timer.java:380)
"ExecuteThread: '1' for queue: 'DRS'" daemon prio=5 tid=0x80d700 nid=0x1d2waiting on monitor [0x12aef000..0x12aefdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: 'DRS'" daemon prio=5 tid=0x80b160 nid=0x1d1waiting on monitor [0x12aaf000..0x12aafdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: 'Multicast'" daemon prio=5 tid=0x80a8b0nid=0x1d0 waiting on monitor [0x12a6f000..0x12a6fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '1' for queue: 'Replication'" daemon prio=5 tid=0x8072f0nid=0x1cf waiting on monitor [0x12a2f000..0x12a2fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: 'Replication'" daemon prio=5 tid=0x807430nid=0x1c9 waiting on monitor [0x129ef000..0x129efdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"LDAPConnThread 10.1.7.26:7001" daemon prio=5 tid=0x7f56c0 nid=0x1cdrunnable [0x1296f000..0x1296fdc0]
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:85)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:181)
at java.io.BufferedInputStream.read(BufferedInputStream.java:199)
at netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)
at netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:420)
"LDAPConnThread 10.1.7.26:7001" daemon prio=5 tid=0x7f35c0 nid=0x1cbrunnable [0x128ef000..0x128efdc0]
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:85)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:181)
at java.io.BufferedInputStream.read(BufferedInputStream.java:199)
at netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)
at netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:420)
"LDAPConnThread 10.1.7.26:7001" daemon prio=5 tid=0x7edc70 nid=0x1carunnable [0x128af000..0x128afdc0]
at java.net.SocketInputStream.socketRead(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:85)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:181)
at java.io.BufferedInputStream.read(BufferedInputStream.java:199)
at netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)
at netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:420)
"VDE Transaction Processor Thread" prio=2 tid=0x7e21c0 nid=0x1c5 waitingon monitor [0x1282f000..0x1282fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at com.octetstring.vde.backend.standard.TransactionProcessor.waitChange(TransactionProcessor.java:306)
at com.octetstring.vde.backend.standard.TransactionProcessor.run(TransactionProcessor.java:192)
"ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x7a7020 nid=0x1c4 waiting on monitor [0x127df000..0x127dfdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemonprio=5 tid=0x7d7750 nid=0x1c3 waiting on monitor [0x1279f000..0x1279fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemonprio=5 tid=0x7c26b0 nid=0x1c2 waiting on monitor [0x1273f000..0x1273fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemonprio=5 tid=0x7c2bf0 nid=0x1c1 waiting on monitor [0x126ff000..0x126ffdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"TimeEventGenerator" daemon prio=5 tid=0x7c00d0 nid=0x1c0 waiting onmonitor [0x126bf000..0x126bfdc0]
at java.lang.Object.wait(Native Method)
at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:272)
at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:139)
at java.lang.Thread.run(Thread.java:479)
"ExecuteThread: '1' for queue: '_weblogic_dgc_queue'" daemon prio=5tid=0x7bfac0 nid=0x1bf waiting on monitor [0x1267f000..0x1267fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '0' for queue: '_weblogic_dgc_queue'" daemon prio=5tid=0x7be5c0 nid=0x1be waiting on monitor [0x1263f000..0x1263fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"HighPriority TimeEventGenerator" daemon prio=9 tid=0x7bee10 nid=0x1bdwaiting on monitor [0x125ff000..0x125ffdc0]
at java.lang.Object.wait(Native Method)
at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:272)
at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:139)
at java.lang.Thread.run(Thread.java:479)
"SpinnerRandomSource" daemon prio=5 tid=0x7bc270 nid=0x1bc waitingon monitor [0x125bf000..0x125bfdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource.java:60)
at java.lang.Thread.run(Thread.java:479)
"ExecuteThread: '14' for queue: 'default'" daemon prio=5 tid=0x7b9050nid=0x1bb runnable [0x1257f000..0x1257fdc0]
at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:534)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
"ExecuteThread: '13' for queue: 'default'" daemon prio=5 tid=0x7b8050nid=0x1ba runnable [0x1253f000..0x1253fdc0]
at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:534)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:23)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
"ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0x7b8840nid=0x1b9 runnable [0x124ff000..0x124ffdc0]
at java.net.PlainDatagramSocketImpl.receive(Native Method)
at java.net.DatagramSocket.receive(DatagramSocket.java:387)
at weblogic.cluster.FragmentSocket.receive(FragmentSocket.java:158)
at weblogic.cluster.MulticastManager.execute(MulticastManager.java:336)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
"ExecuteThread: '11' for queue: 'default'" daemon prio=5 tid=0x7b7360nid=0x1b8 waiting on monitor [0x124bf000..0x124bfdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '10' for queue: 'default'" daemon prio=5 tid=0x7b7ec0nid=0x1b7 waiting on monitor [0x1247f000..0x1247fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '9' for queue: 'default'" daemon prio=5 tid=0x7b6ac0nid=0x1b6 waiting on monitor [0x1243f000..0x1243fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '8' for queue: 'default'" daemon prio=5 tid=0x7b56c0nid=0x1b5 waiting on monitor [0x123ff000..0x123ffdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '7' for queue: 'default'" daemon prio=5 tid=0x7b4360nid=0x1b4 waiting on monitor [0x123bf000..0x123bfdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
"ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x7b4ec0nid=0x1b3 waiting on monitor [0x1237f000..0x1237fdc0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:415)
at weblogic.kernel.ExecuteThread.
Maybe you are looking for
-
Hi Experts, What is the table and field name for Account number for Customer. Its possible to one account number have more than one customers. Thanks in advance. Points will be rewarded.
-
My apps keep shutting off? Why?
-
Nokia Wireless Car Charger (CR200) Release Date
Is there any information on a release date for the Nokia Wireless Car Charger? I saw the intro of the product at MWC, and I'm really interested in purchasing one. I haven't been able to find any information regarding the release date though. Does any
-
Shockwave deployment exe doesn't install activex for IE
When I download the Full or Slim deployment exe of Shockwave and install it. It does not install the ActiveX plugin for IE. Is there a standalone version of the ActiveX portion? Thanks, Ross
-
Database not showing up +sign
Why my database is not showing + sign where we expand to see tables , views etc in management studio. Please help me. Thanks.