Multiple EJB clients blocking

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.
- gary

Oops, 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.

Similar Messages

  • Ejb-client.jar

    Hi,
    I've got an EJB system that until now have been packaging as just a
    bean jar and not bothering with a ejb-client.jar. I now want to
    package as follows
    a). A bean EAR file (containing bean jar, and dependency jars) - for
    deploying on EJB server.
    b). An app EAR file (containing WAR, containing ejb-client.jar).
    The first part is done. The second raised questions about the contents
    of the ejb-client.jar. I have packaged the Home/Remote interfaces and
    all necessary utility classes (i.e omitting the Local/LocalHome/EJB
    classes). What I need to know is what goes in there in terms of
    descriptors.
    Do I just package the exact same ejb-jar.xml, jboss.xml,
    jbosscmp-jdbc.xml, weblogic-ejb-jar.xml, weblogic-cmp-rdbms-jar.xml ?
    or do I have to change these in some way ?
    Do I also add the ejb-client-jar tag to the ejb-jar.xml ? (would this
    also go in the ejb-jar.xml that goes in the bean jar ?) ... and indeed
    what would I put in there ... just the name of ejb-client-jar file
    even though its only being packaged into any application WAR (what
    purpose does it serve) ?
    TIA

    The ejb-link value should include pathnames relative to the top level of the EAR
    file.
    <ejb-link>../my_beans-client.jar#CurrencyExchange</ejb-link>
    Andy Jefferson <[email protected]> wrote:
    Deepak Vohra wrote:
    An ejb-client.jar contains the class files, the home and remote interfaces
    and the primary key class, a client program needs to call the EJBs
    contained in the ejb-jar file.
    Also, ejb-client.jar contains a copy of any classes from the ejb-jarfile
    that
    are referenced by the home and remote interfaces and the primary key
    class. Deployment descriptors are not required in the ejb-client.jar.
    ejb-client-jar element is not a required element in ejb-jar.xml. If
    ejb-client-jar.xml is specified in ejb-jar.xml ejbc generates the
    ejb-clent.jar file.
    Thx. I'm not interested in using any server-specific tools (like ejbc)
    since
    I'm deploying to multiple servers and so am generating the ejb-client
    jar
    myself in my build process. In this context, what purpose does the
    <ejb-client-jar> tag in the ejb-jar.xml descriptor have ? Why does the
    beans jar need to know anything about where the client stubs are ?
    As far as I can tell I'm including the right things in my ejb-client.jar,
    and I've tried deploying my web-app EAR to WebLogic 7.0 and I always
    get
    that it can't find the ejb-link elements. What i've got in my EAR is
    my_app.war
    META-INF/application.xml
    and in the WAR
    my JSP files
    WEB-INF/web.xml
    WEB-INF/jboss-web.xml
    lib/my_beans-client.jar
    In the WEB-INF I have ejb-ref's like the following
    <ejb-ref >
    <ejb-ref-name>ejb/CurrencyExchangeHome</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>my_domain.CurrencyExchangeHome</home>
    <remote>my_domain.CurrencyExchangeRemote</remote>
    <ejb-link>my_beans-client.jar#CurrencyExchange</ejb-link>
    </ejb-ref>
    Should I be putting the my_beans-client.jar in the EAR and not the WAR
    Seems I am missing something, but not sure what exactly.

  • Two web apps using the same EJB client jar

    I am currently deploying two web apps on a server. Both web apps use an EJB client
    jar (the same jar) to access EJB's and both apps work when tested independently.
    The problem arises when I log into app A and then log into app B. As soon as
    I do app A loses it's references to the EJBHomes, and other classes.
    It seems a classloader is unloading the first classes and instances loaded by
    the first app and then loading them from app B's client.jar.
    If I put the client.jar in the system classpath everything is fine, but that's
    just a hack.
    Is it not possible to deploy two web apps on a server using the same client.jar's
    in their own WEB-INF/lib's?

    Joe,
    As Pravin mentions, the checking of those boxes in Workbench triggers scheduled jobs within the EAC that kicks off the scripts at the appropriate time/day. But as you've noticed, there's not a ton of flexibility and you don't get cron or Windows Scheduler-type capabilities.
    If you need to do something special, you can manually kick off the report generation scripts from your control directory using the runcommand.bat (or sh) script or place the command into a cron/Windows Scheduler job:
    For example, to kick off the WeeklyReports job, you would do this:
    runcommand.sh WeeklyReports runSo, assuming you go down the route of creating multiple ReportGenerators and scripts, you would create a job to kick off the new script you've created at the appropriate time.
    Hope that helps,
    Patrick
    http://branchbird.com

  • EJB client connection [RMI/IIOP]

    1) Just to test the communication between EJB client and EJB using RMI/IIOP in WLS 9.2, I have created two InitialContexts and I have seen that here are only two InitialContext. But, I can see only a single connection displayed (Monitoring Channels tab for the default [IIOP] channel). Is this expected? Doesn’t is suppose to create two connections?
    2) If only one connection is established. What is the way this model will scale up?? I can have multiple calls..right?
    3) What is the connection time out works on this? If I have a stub cached. Does that mean my RMI/IIOP connection still be alive?

    MC Sreeram <> writes:
    1) Just to test the communication between EJB client and EJB using RMI/IIOP in WLS 9.2, I have created two InitialContexts and I have seen that here are only two InitialContext. But, I can see only a single connection displayed (Monitoring Channels tab for the default [IIOP] channel). Is this expected? Doesn???t is suppose to create two connections?Connections are share beween the same port and ip addresses.
    2) If only one connection is established. What is the way this model will scale up?? I can have multiple calls..right?Yes. It scales up nicely.
    3) What is the connection time out works on this? If I have a stub cached. Does that mean my RMI/IIOP connection still be alive?The stub should transparently re-establish the connection if it is timed out
    andy

  • XMII and Multiple Thin Clients

    Hi,
    I am thinking of deploying multiple thin clients, each accessing a single xMII instance and am posting a general "broad" question.  Although probably not an "xMII" related thread, but any others using xMII content on thin client(s)?
    Any issues or pointers or suggestions or "not to do's" with content / java script / applets / performance / refresh?
    Thanks all,  Rgds Kevin.
    Edited by: Kevin Hibbins on Apr 28, 2008 10:58 AM

    A thin client is essentially a Web Browser, right? Or are you looking @ something else as well?
    Just to add , this is from the MII help - "The following section provides a visual overview of the various applets provided with SAP xMII.  By combining and linking these building blocks, incredibly powerful decision support applications that bridge a variety of disparate data sources can be quickly created and deployed on thin client platforms such as Web browser, personal digital assistants (PDAs), or other Web-aware mobile devices and internet appliances".
    Help me understand if you have anything specific in mind when you say 'thin clients'.

  • Can an EJB client application access to EJBs on two domains concurrently?

    It is well-known that there can be multiple domains in a SUN application server. If two domains are started up, can the same EJB client application call different EJB methods from the two domains? If can, how to implement? Please kindly give a snippet of sample codes.
    Another question: can EJBs among multiple domains communicate with each other? If can, tell me how to implement and had better provide some sample codes as well.

    I have my client working now!
    I was looking around on other forums and found a guy who said that javax.comm has problems with security. here is the address
    http://lists.dalsemi.com/maillists/java-powered-ibutton/2002-February/002168.html
    He said,
    "This is an error generated by the javax.comm packages when initializing
    the
    serial ports. It's basically a security related bug. Officially, all
    packages stored in your lib/ext folder should be considered trusted
    code,
    running with the same permissions as your trusted main application. But
    it
    seems that isn't the case with comm.jar.
    I've heard that signing the comm.jar file might fix it, but I wasn't
    able to
    verify that myself (but I didn't test with Netscape's java plugin). I
    found
    a workaround that should take care of it (as long as your main
    application
    has "all-permissions"). Try adding this line to the top of your main
    method:
    System.setSecurityManager(null);
    So I did that and it worked except for one thing. at the end of my program the client tells me
    The system cannot find the path specified.
    Do you think this is a major problem? What is it trying to find??
    Michael B

  • Multithreaded EJB Client

    Does any one know if it is valid to create multiple threads in a ejb client program that makes synchronous calls to the bean instance.

    if it is valid to create multiple
    threads in a ejb client program that makes synchronous
    calls to the bean instance.Depends of what you mean by 'ejb client'.
    If you mean a non-ejb class ( regular java class/servlet) making calls to an ejb bean, the answer would be yes, although I don't see why you should worry about sync-ing the calls, since the ejb container automatically handles that, i.e locks the bean for the time of the request.
    If you mean by 'ejb client' an ejb bean making calls to another ejb bean , then you're violating the specs, since it is the container who is supposed to have the monopole of handling threads, not the programmer.

  • Using JarSettings to generate EJB client jar, but supported classes missed

    Appreciated for any comments in advance.
    I am using @jarSetting to generate EJB client jar file from workshop 9.2. The remote method of EJB has one input parameter that is defined as an interface. The interface is included in client jar, but the implementation of this interface is not.
    Please advise how I can add the implementation of this interface to client jar?
    Best Regards,
    James

    Hi James,
    I believe the algorithm for creating the client jar is to simply inspect the EJB interfaces using reflection and to include all user defined classes and exceptions that are referenced by the interfaces. In your case, it sounds like a class is not being included because it is not directly referenced by one of the EJB interfaces.
    I think the client jar creation algorithm can be described as "best effort" and unfortunately, it does not always end up including all classes needed by the client. I would recommend you add the additional classes manually using the jar tool.
    - Matt

  • 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

  • ORA-27046: file size is not a multiple of logical block size

    Hi All,
    Getting the below error while creating Control File after database restore. Permission and ownership of CONTROL.SQL file is 777 and ora<sid>:dba
    ERROR -->
    SQL> !pwd
    /oracle/SID/sapreorg
    SQL> @CONTROL.SQL
    ORACLE instance started.
    Total System Global Area 3539992576 bytes
    Fixed Size                  2088096 bytes
    Variable Size            1778385760 bytes
    Database Buffers         1744830464 bytes
    Redo Buffers               14688256 bytes
    CREATE CONTROLFILE SET DATABASE "SID" RESETLOGS  ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file
    '/oracle/SID/sapdata5/p11_19/p11.data19.dbf'
    ORA-27046: file size is not a multiple of logical block size
    Additional information: 1
    Additional information: 1895833576
    Additional information: 8192
    Checked in target system init<SID>.ora and found the parameter db_block_size is 8192. Also checked in source system init<SID>.ora and found the parameter db_block_size is also 8192.
    /oracle/SID/102_64/dbs$ grep -i block initSID.ora
    Kindly look into the issue.
    Regards,
    Soumya

    Please chk the following things
    1.SPfile corruption :
    Startup the DB in nomount using pfile (ie init<sid>.ora) create spfile from pfile;restart the instance in nomount state
    Then create the control file from the script.
    2. Check Ulimit of the target server , the filesize parameter for ulimit shud be unlimited.
    3. Has the db_block_size parameter been changed in init file by any chance.
    Regards
    Kausik

  • Error in running EJB Client on a remote machine

    I delploy my beans and can run the EJB Client locally. However when I try to run the Client on another machine, there are errors.
    Here is the errors
    Syntax error
    Out of environment space
    Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/enterprise/appclient/Main
    I have follow the step in the j2ee tutorial and set the env variables according. Here is the bat file I write
    set APPCPATH=CBSAppClient.jar
    set VMARGS=-Dj2eelogin.name=guest -Dj2eelogin.password=guest123 -Dorg.omg.CORBA.ORBInitialHost=192.168.0.2
    runclient -client CBSApp.ear -name CBSClient -textauth
    Do anyone facing the same problem with me?
    And how can I solve the problems?
    This is really URGENT, please help

    You are running on Windows 9x or Me, right? The darn OS has 300 or so bytes allocated for environment by default.
    Try setting the Initial environment to 4096 in the Properties|Memory tab for the batch file. That will get rid of "Out of environment space". The syntax error is another matter; Windows (except NT and derivatives) shells do not allow '=' in an environment variables value. You cannot overcome that. Some software (Sybase for instance) interprets # as = just because of that. Unfortunately, the JVM doesn't take such an approach.
    Better, grab copies of Unix utilities for Windows (www.gnu.org) including the wonderful shell 'bash' and write .sh scripts, which are inherently more powerful.

  • Steps to deploy an ejb application and running an ejb client in weblogic server6.1

    steps to deploy an ejb application and steps to run an ejb client in weblogic server6.1
    if the client is an simple java application and if the client is a servlet

    Hi.
    Check out the beanManaged example that ships with WLS and read the accompanying docs. This
    is a simple EJB with a servlet that invokes it.
    Michael
    shekhar sachdev wrote:
    steps to deploy an ejb application and steps to run an ejb client in weblogic server6.1
    if the client is an simple java application and if the client is a servlet--
    Michael Young
    Developer Relations Engineer
    BEA Support

  • Problem In Update Statement In Multiple Record Data Block

    Hi Friends,
    I have problem in update Statement for updating the record in multiple record data Block.
    I have two data Block the master block is single Record block and the 2nd data block is Multiple Record data Block.
    I am inserting the fields like category,and post_no for partiular job in single data block
    Now in second Multiple Record Data Block,i am inserting the multiple record for above fileds like no. of employees work in the position
    There is no problem in INSERT Statement as it is inerting all record But whenever i want to update particular Record (in Multiple Block) of employee for that category and Post_no
    then its updating all the record.
    my code is Bellow,
    IF v_count <> 0 THEN
    LOOP
    IF :SYSTEM.last_record <> 'TRUE' THEN
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    IF SQL%NOTFOUND THEN
    INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
    VALUES(g_post_no, g_roster_no, g_category, :POST_HISTORY_MULTIPLE.idcode, :POST_HISTORY_MULTIPLE.joining_post_dt,
    :POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
    END IF;
    next_record;
    ELSIF :SYSTEM.last_record = 'TRUE' THEN
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    IF SQL%NOTFOUND THEN
    INSERT INTO post_history(post_no,roster_no,category,idcode,joining_post_dt,leaving_post_dt,entry_gp_stage)
         VALUES (g_post_no,g_roster_no,g_category,:POST_HISTORY_MULTIPLE.idcode,
              :POST_HISTORY_MULTIPLE.joining_post_dt,:POST_HISTORY_MULTIPLE.leaving_post_dt,:POST_HISTORY_MULTIPLE.entry_gp_stage);
    END IF;
    EXIT;
    END IF;
    END LOOP;
    SET_ALERT_PROPERTY('user_alert',ALERT_MESSAGE_TEXT, 'Record Updated successfuly' );
    v_button_no := SHOW_ALERT('user_alert');
    FORMS_DDL('COMMIT');
    CLEAR_FORM(no_validate);
    Please Guide me
    Thanks in advence

    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;
    UPDATE post_history
    SET idcode = :POST_HISTORY_MULTIPLE.idcode,
    joining_post_dt = :POST_HISTORY_MULTIPLE.joining_post_dt,
    leaving_post_dt = :POST_HISTORY_MULTIPLE.leaving_post_dt,
    entry_gp_stage = :POST_HISTORY_MULTIPLE.entry_gp_stage
    WHERE post_no = :POST_HISTORY_SINGLE.post_no
    AND category = :POST_HISTORY_SINGLE.category
    AND roster_no = :POST_HISTORY_SINGLE.roster_no;
    AND idcode = :POST_HISTORY_MULTIPLE.idcode;These update statements are without where clause, so it will update all records.
    If it is specific to oracle forms then u may get better help at Forms section.

  • EJB Client Access From JDeveloper9iR2

    I seem to be running into a lot of problems when trying to get a simple EJB client to talk to an EJB on our 9IAS platform. I have developed a simple session bean (just to test) which simply returns a string. When I create the default client code this works fine using the embedded OC4J server in Jdeveloper but I can't run a similar client against 9IAS when I deploy the code. When I go through the client wizard it seems to produce the same code as the standalone EJB OC4J client. I simply changed the name of the server (Context.PROVIDER_URL, "ormi://pe2500/). This is the parameter code I use:
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "admin");
    env.put(Context.SECURITY_CREDENTIALS, "welcome");
    env.put(Context.PROVIDER_URL, "ormi://pe2500:23891/MyEJBs");
    This is the output I receive:
    D:\jdeveloper9ir2\jdk\bin\javaw.exe -ojvm -classpath D:\javadev\ejbservlet\ejbservlet\WEB-INF\classes;D:\jdeveloper9ir2\jdev\lib\jdev-rt.jar;D:\jdeveloper9ir2\j2ee\home\lib\ojsp.jar;D:\jdeveloper9ir2\j2ee\home\jsp\lib\taglib\ojsputil.jar;D:\jdeveloper9ir2\j2ee\home\oc4j.jar;D:\jdeveloper9ir2\j2ee\home\lib\servlet.jar;D:\jdeveloper9ir2\jdev\lib\ojc.jar;D:\jdeveloper9ir2\j2ee\home\lib\activation.jar;D:\jdeveloper9ir2\j2ee\home\lib\ejb.jar;D:\jdeveloper9ir2\j2ee\home\lib\jaas.jar;D:\jdeveloper9ir2\j2ee\home\lib\jaxp.jar;D:\jdeveloper9ir2\j2ee\home\lib\jcert.jar;D:\jdeveloper9ir2\j2ee\home\lib\jdbc.jar;D:\jdeveloper9ir2\j2ee\home\lib\jms.jar;D:\jdeveloper9ir2\j2ee\home\lib\jndi.jar;D:\jdeveloper9ir2\j2ee\home\lib\jnet.jar;D:\jdeveloper9ir2\j2ee\home\lib\jsse.jar;D:\jdeveloper9ir2\j2ee\home\lib\jta.jar;D:\jdeveloper9ir2\j2ee\home\lib\mail.jar;D:\jdeveloper9ir2\j2ee\home\oc4j.jar;D:\jdeveloper9ir2\lib\xmlparserv2.jar;D:\jdeveloper9ir2\lib\xmlcomp.jar;D:\jdeveloper9ir2\j2ee\home\oc4j.jar;D:\jdeveloper9ir2\j2ee\home\lib\servlet.jar Samplemypackage6.ctejb1Client3
    javax.naming.NamingException: Lookup error: java.net.ConnectException: Connection refused: connect; nested exception is:
         java.net.ConnectException: Connection refused: connect
         java.lang.Object com.evermind.server.rmi.RMIContext.lookup(java.lang.String)
              RMIContext.java:134
         java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
              InitialContext.java:350
         void Samplemypackage6.ctejb1Client3.main(java.lang.String[])
              ctejb1Client3.java:18
    Process exited with exit code 0.
    Can anyone tell me if this is the correct communication method for client EJB's talking to the 9IAS server?
    Any help really appreciated.
    Chris Taylor

    hi Chris Taylor, did you find the solution for this error. i too get this error and i am looking for the answer. if you find any answer please share with me too. if i get any answer for this i will reply you too.

  • How to handle multiple DEV clients in CHARM

    Experts:
    We have many DEV clients  in our ECC landscape.
    Some customizing needs to be imported into all DEV clients.
    In order to use CHARM to do above import into different  DEV clients, I want to define some logical components with only
    2 systems, i.e. source DEV client and target DEV client (e.g.  DEV100->DEV200).  Then link this logical component to a
    project.
    In this way we will define  many projects (logical componets, maintenance cycles)  depending on how path combinations existing on  the STMS setup.
    Could you help verify whether this will work as expected? Because I did not configure 2 system  tp for CHARM before therefore I am not sure.
    Thanks a lot!

    Hi,
    you should take a look to those 2 threads especially the second one IF those other clients are USED FOR CREATING TR:
    Re: Multiple clients in DEV and QA for CHARM setup
    Change Request Management for multiple production clients
    IF the other clients should just be synchronized with custo done in the first one then the lines above will help you.
    Important fact "A Solman Project can have more than a logical component."
    So for example in your case if you are trying to update DEV 200 with DEV 100 when importing TR to quality system (200 must be a kind of reference client for you),
    you ll simply have to declare a Solman Project containing the core logical component (for ex: DEV 100 -> QUAL 100 -> PRD 100) AND another one that ll let you import in DEV 200 (DEV 100 -> DEV 200).
    In your generated tasklist you'll then find DEV 200 under Target Systems node; like if it was a QUAL system AND you ll find tasks as "Import Transport Requests" available for DEV 200.
    As a prerequesite you MUST declare DEV 200 in your logical component as a Target Role System and not as a Source Role System (like DEV 100) (Transaction SMSY). Otherwise Solman will understand that DEV 200 will be used only for creating and releasing TR and it will be considered like DEV 100
    Hope it helps
    Keep me updated with how it goes
    Regards
    Khalil

Maybe you are looking for

  • Issue in the Reporting feature of SAP BPC NW 7.0

    Hi everyone, I am facing an issue with respect to the Reporting feature in SAP BPC NW 7.0 version. I am supposed to generate a P&L report using the EVDRE function. Issue- In the report that I have generated, the system is retrieving only a subset of

  • Child of a child merged HTML help not searchable

    In the help for Robohelp the ability to merge projects talks about the ability to merge project B into A and then A into C for example. This works very well for a single level merge for both TOC and index/search (doing all the right things). However,

  • Can't get Linux DVD password

    I just received my trial DVD with Oracle 9i products for Linux. The software is all password protected. The DVD intro page takes me to a page within Oracle where I am to register and then receive the DVD password. The link is: http://www.oracle.com/s

  • Hi, how to make web visual effect better

    Hi all:     I am working on a web system using webdynpro for abap, but customers have high expections on the visual effects of the web, do you have example that I can learn from ? for example, good ones of standards or anything exposed to us?    Than

  • Forms 6i questions

    Hi all, We have translated labels in forms6i fmb's from english to dutch using translation builder. When we start formsbuilder with nls_lang = english we get builder in english and also the english versions of the labels. When nls_lang = dutch we get