Weblogic 10.0, JTA -JDBC ejb rollback problem
Hi,
I have one statless-session bean, with bean managed transaction.
ejbmethod()
utx=getUserTransaction();
try{
utx.begin();
method1(); //in this i am updating few table in DB -DB connection is taken in the same method and closed there
method2(); // calling a stored procedure to do smthing etc
method3(); //update smthing else
utx.commit();
}catch()
utx.rollback()
the rollback does not happen properly.
The code is not wrong, no nested transaction, db changes does not get rolled back.
My question is , what is the relation between JTA configuration and DB Connection pool?
Is there any specific configuration in weblogic fot JTA?
How to configure the JTA log in weblogic 10?
For guaranteed transaction atomicity in general, if your application updates multiple transactional resources, an XA-enabled version of the JDBC driver is required to participate in such a global 2PC transaction. If you are absolutely sure that the datasource in question is the only resource accessed in the transaction, then you can mark this datasource as 1PC in the WLS console. Even, if you application enlists multiple resources in a transaction, using the [LLR optimization|http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jta/llr.html] you are still able to use exactly one non-XA resource that must be a LLR datasourse without losing the atomicty guarantee. In order to use LLR, you have to make sure that you don't cache a the LLR datasource connection beyond transaction boundaries, i.e., you need to obtain a new connection from the LLR datasource for every transaction. See http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jdbc_admin/jdbc_datasources.html for more details.
Edited by: Gera Shegalov on Mar 17, 2009 4:44 PM
Similar Messages
-
Sender JDBC Commn channel problem - Channel is not reading any data.
Hi,
I am referring to the following blog as i have exactly the same problem:
[Blog|Sender JDBC Commn channel problem;
I communication channel monitoring i am getting the following logs -
6/21/10 7:19:07 PM Processing started
6/21/10 7:19:07 PM Retry interval started. Length: 86400.0 seconds
Here in the channel the poling interval is 86400 seconds.
Now according to this blog the solution to my issue is "Check whether anything is locked in "Locking adapter" in VA? If there is then just release the lock and restart the comm channel. Note: In "locking adapter" the name will be something like $XIDBAD.JDBC2XI."
Mine is a PI7.1 system and i am not able to find any thing like this in NWA.
Can some one please help me on this?
Thanks & Regards,
Anshultry;
Goto NWA -> Availability and Performance Management -> Resource Monitoring -> Locks -
WEbLogic 8.1 SP4 vs EJB 2.1
Hello!
Does WebLogic 8.1 SP4 support EJB 2.1?
I have gone thru the documentation, but nowhere it is written that it supports.
Reg,
Chetan ParekhNo WLS 8.1 sp4 does not support EJB 2.1
- Ramkumar -
Does BEAs WebLogic Server 8.x support EJB 2.1?
Does BEAs WebLogic Server 8.x support EJB 2.1? When it is Support?
I know weblogic 8.1 is EJB 2.0
"John Naranjo" <[email protected]> wrote:
>
Does BEAs WebLogic Server 8.x support EJB 2.1? When it is Support? -
These resets appear to coincide with a clearing of the cached queries for the DSN from memory, breaking all my sub queries that try to use the initial cached one. I am grasping at straws to discover the reset culprit, the DSN tests always show OK, there is not packet loss at the switch level. If anyone has some suggestions, I am all ears!
The resets are completely random and under no load. My sql 2008 r2 box is set to unlimited connections.
An example of a DSN setup is :
Maintain Connections [x]
String Format [ ]
Max Pooled Statements 100
Timeout 20 Interval 7
Query Timeout 0
Login Timeout 30
CLOB [ ]
BLOB [ ]
Long Text Buffer 64000
Blob Buffer 64000
Validate Connection [ ]
I am running the following :
CF Enterprise 10,0,13,287689
Tomcat 7.0.23.0
Ubuntu 1204 x64
Java VM 20.4-b02
Java 1.6 (Sun Microsystems Inc)
I have seen it suggested to uncheck the maintain connections advanced options but this doesn't seem like a good approach to the problem and will cause more stress on the sql box IMHO.
I have also seen it suggested to enable Validate Connection but documentation on this is a bit sparse...
Here are more examples of the initial reset error and then the subsequent cache related errors :
Database Error Information:
Native Error Code: 0
SQL State: 08S01
Query Error: [Macromedia][SQLServer JDBC Driver]A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections have not been exceeded for this server.
Custom Error Code: 08S01
Database Error Information:
Native Error Code: 0
SQL State: n/a
Query Error:
Query Of Queries runtime error.
Table named GlobalDetails was not found in memory. The name is misspelled or the table is not defined.
Custom Error Code: n/a
Thanks in advance to anyone who has a suggestion.Hi, could DBA check MS SQL Server connection logs???
May be server has some limits (for example sessions, memory and e.t.c.) -
Reproducible ZfDAgent rollback problem w/ HP4
I'm beginning to test ZfDAgent 7.0 SP1 IR4 HP4. I have an HP3 machine
(WinXPsp3). During the install of HP4, it rolls back. Unfortunately, it's
not truly rolled back. The agent is left completely broken. If I reinstall
HP3, reboot, then it's fine, but re-trying the upgrade to HP4 causes the
same situation again.
I have an MSI log with full logging (voicewarmup) enabled, but I'm not sure
how to decode where exactly the problem is.
Anyone?
Thank you.On 2/27/2011 1:06 PM, grimlock wrote:
>
> ecyoung;2061791 Wrote:
>> This may be the issue:
>> "ZDM 7 HP4 agent install fails with 1603 error due to truncated
>> Environment
>> Path"
>> 'ZDM 7 HP4 agent install fails with 1603 error due to truncated
>> Environment Path'
>> (http://www.novell.com/support/viewCo...7463&sliceId=1)
>>
>> <[email protected]> wrote in message
>> news:[email protected]. ..
>>> No, sorry. They weren't able to reproduce it at Novell, but it
>> wasn't a
>>> formally submitted SR.
>>>
>>> "hennys"<[email protected]> wrote in message
>>> news:[email protected]...
>>>>
>>>> Hi,
>>>>
>>>> Did you ever get this solved ?
>>>>
>>>> I'm having the same problem. Agent starts rolling back. After
>> reboot
>>>> and reinstall, again rollback.
>>>>
>>>> Kind regards,
>>>>
>>>> Hen
>>>> imayroam;2003889 Wrote:
>>>>> I'm having the same issue w/ the Zen agent install.
>>>>>
>>>>> Could I have a look at that log?
>>>>>
>>>>> Thanks!
>>>>
>>>>
>>>> --
>>>> Regards,
>>>>
>>>> Hen
>>>>
>> ------------------------------------------------------------------------
>>>> hennys's Profile: 'View Profile: hennys - NOVELL FORUMS'
>> (http://forums.novell.com/member.php?userid=233)
>>>> View this thread: 'Reproducible ZfDAgent rollback problem w/ HP4'
>> (http://forums.novell.com/showthread.php?t=413684)
>>>>
>>>
>>>
>
> I came across this issue when upgrading to the HP5 agent. It was only
> on one specific hardware platform of about 6 machines, so it was
> isolated. The solution I came up with (as of 5 minutes ago because I
> just spent some time playing with it) is as follows.
>
> use MSIZAP to kill the installer information. Reboot to safe mode.
> Rename c:\program files\novell\zenworks to zenworks.old.
>
> Install the HP5 agent.
>
> Delete the zenworks.old folder.
>
> This is NOT practical if you have a significant number of workstations
> in an organization affected, but for 6, I'll live with it.
>
> After installation, I did a test uninstall/reinstall of the HP5 agent
> to verify that it was no longer broken for removal/reinstall.
>
>
Spoke too soon, I have one machine that this doesn't work on. Product
is removed, and no longer reinstalls. It rolls back during the install.
Might be a similar issue to what you're having. Attempting to attach
an MSI log file via nntp, we'll see how that goes. (edit, not allowed).
Happy to e-mail it if someone wants to see it.
I can always start a new thread for this, but I suspect it's related.
This is the HP5 agent. -
EJB Deployment Problem for Stateless Session with Multiple ejbCreate
In weblogic server if I use multiple ejbCreate with different parameters it is found
to raise error with error message :
<Error deploying application cart:
Unable to deploy EJB: cart.jar from cart.jar:
In EJB CartBean, the stateless session bean class must define a single ejbCreate
method that takes no parameters.
at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:256)
at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:220)
at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:453)
at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:410)
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:203)
at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:676)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:843)
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
at weblogic.j2ee.Application.addComponent(Application.java:160)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at ......
Code example...
public void ejbCreate() throws CreateException {}
public void ejbCreate(String person) throws CreateException {
// code here
public void ejbCreate(String person, String id) throws CreateException {
// code here
the code above is found ok in J2ee Ref. Implementation and able to deploy. Why this
is not deployable in Weblogic(tried in 6.1).is it a required condition for stateless
session bean
to have only single ejbcreate with no parameters ?
Can somebody explain? and is there a way out to overcome this constraint if so in
weblogic
with regards
Ganeshan KalembethStateless session beans may define only a single create() method with no
suffix
and no arguments.
Michael Jouravlev wrote:
"Ganeshan Kalembeth" <[email protected]> wrote in message
news:3ce28a88$[email protected]..
In weblogic server if I use multiple ejbCreate with different parametersit is found
to raise error with error message :
<Error deploying application cart:
Unable to deploy EJB: cart.jar from cart.jar:
In EJB CartBean, the stateless session bean class must define a singleejbCreate
method that takes no parameters.
atweblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.ja
va:256)
atweblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBCompli
anceChecker.java:220)
atweblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:453)
at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:410)
at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:203)
at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java:296)
at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java:676)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:843)
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:30)
at weblogic.j2ee.Application.addComponent(Application.java:160)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at ......
Code example...
public void ejbCreate() throws CreateException {}
public void ejbCreate(String person) throws CreateException {
// code here
public void ejbCreate(String person, String id) throws CreateException {
// code here
the code above is found ok in J2ee Ref. Implementation and able to deploy.Why this
is not deployable in Weblogic(tried in 6.1).is it a required condition forstateless
session bean
to have only single ejbcreate with no parameters ?
Can somebody explain? and is there a way out to overcome this constraintif so in
weblogic
with regards
Ganeshan KalembethRTFM EJB 2.0 Spec, chapter 7.8 -
EJB Entity transaction rollback problem
Hello,
I have created 2 beans one is a Stateless Session and the other a Bean Managed Entity Bean. The SS Bean has methods to retrieve an Oracle Connection from a DataSource defined connection pool, and to close a connection. The entity bean I have created is responsible for insterting a new record into one of the tables in my database.
I have a client app that calls the ejbCreate method on the entity bean at which point the Entity EJB takes control, gets a valid connection from the SS EJB, runs a simple working SQL SELECT statement (obtaining correct values), and then attempts to perform an insert into a table using a prepared statement. My problem is that the application runs fine without any errors and all calls are made and all calls seem to be working fine. I have checked to make sure that the Datasource I am using is AutoCommit= false and it is and there are no exceptions being thrown in my EJB's but yet it appears as though the SQL statements executeUpdate() command is not being committed as their is no rows created in the database. Does anyone know what I may be doing wrong. I have all ACL parameters set up correctly and as I stated before the entire app runs without errors and I do have a SELECT statment that is working properly within the same method as the INSERT statement which is not!!! Please send any suggestions!!
Justin
I am using CMT, it is activated by default on Entity Beans I believe. The bean itself is marked as TX_REQUIRED so I believe all the methods automatically are all TX_REQUIRED.
Here is my Bean ejbCreate Method, My PK class, and my ejb-jar.xml file-- I've pasted them below for convenience.
ejbCreate:
public CustomerPK ejbCreate(String aUserName, String aPassword, String aFirstName,
String aMiddleInit, String aLastName, String aEmailAddr)
throws javax.ejb.CreateException {
Connection conn=null;
long nextPrsnID;
long nextCustID;
if (verifyParams(aUserName, aPassword, aFirstName, aMiddleInit,
aLastName, aEmailAddr)) {
if (isUniqueUserName(aUserName)) {
try {
conn=getConnection();
conn.setAutoCommit(false);
nextPrsnID=addPerson(conn,aFirstName,aMiddleInit,aLastName); // adds a person to the person table consists of just simple SQL
nextCustID=addCustomer(conn,nextPrsnID, aUserName,aPassword, aEmailAddr); //adds a customer to the customer table
// SET THE BEAN MANAGED PUBLIC VARIABLES
this.userName=aUserName;
this.password=aPassword;
this.firstName=aFirstName;
this.middleInit=aMiddleInit;
this.lastName=aLastName;
this.emailAddr=aEmailAddr;
this.personID=nextPrsnID;
this.custID=nextCustID;
conn.commit(); // with this statement here the transaction goes through otherwise the DB will not be updated
catch (Exception e){
throw new javax.ejb.CreateException("Experiencing Database Problems-- Unrecoverable Error"); // rollback transaction
finally{
cleanup(conn,null); // close the connection
else { // UserName already exists
throw new javax.ejb.CreateException("Sorry username already exists please choose another one");
else { // Registration parameters were not verifiable
throw new javax.ejb.CreateException("Registration paramater rules were violated");
CustomerPK custPK=new CustomerPK(nextCustID);
return custPK;
EJB CUSTOMER PRIMARY KEY CLASS:
public class CustomerPK implements java.io.Serializable {
// PRIMARY KEY VARIABLES
public long CustomerID;
public CustomerPK(long aCustomerID) {
this.CustomerID=aCustomerID;
public CustomerPK() {
public String toString(){
return ((new Long(CustomerID)).toString());
public boolean equals(Object aComparePK){
if (this.CustomerID==((CustomerPK)aComparePK).CustomerID){
return true;
return false;
public int hashCode(){
return ((new Long(CustomerID).toString()).hashCode());
} // END-CLASS
CUSTOMER 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>
<entity>
<ejb-name>Customer</ejb-name>
<home>CustomerHome</home>
<remote>Customer</remote>
<ejb-class>CustomerBean</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>CustomerPK</prim-key-class>
<reentrant>False</reentrant>
<resource-ref>
<res-ref-name>jdbc/DeveloperPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Customer</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
"Cameron Purdy" <[email protected]> wrote:
>Are you using CMT? Have you marked the methods as REQUIRED?
>
>Peace,
>
>--
>Cameron Purdy
>Tangosol, Inc.
>http://www.tangosol.com
>+1.617.623.5782
>WebLogic Consulting Available
>
>
>"Justin Jose" <[email protected]> wrote in message
>news:[email protected]...
>>
>> Hello,
>>
>> I have created 2 beans one is a Stateless Session and the other a Bean
>Managed Entity Bean. The SS Bean has methods to retrieve an Oracle
>Connection from a DataSource defined connection pool, and to close a
>connection. The entity bean I have created is responsible for insterting a
>new record into one of the tables in my database.
>> I have a client app that calls the ejbCreate method on the entity bean at
>which point the Entity EJB takes control, gets a valid connection from the
>SS EJB, runs a simple working SQL SELECT statement (obtaining correct
>values), and then attempts to perform an insert into a table using a
>prepared statement. My problem is that the application runs fine without
>any errors and all calls are made and all calls seem to be working fine. I
>have checked to make sure that the Datasource I am using is AutoCommit=
>false and it is and there are no exceptions being thrown in my EJB's but yet
>it appears as though the SQL statements executeUpdate() command is not being
>committed as their is no rows created in the database. Does anyone know
>what I may be doing wrong. I have all ACL parameters set up correctly and
>as I stated before the entire app runs without errors and I do have a SELECT
>statment that is working properly within the same method as the INSERT
>statement which is not!!! Please send any suggestions!!
>>
>> Justin
>
>
-
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixinJoseph Weinstein <[email protected]> wrote:
>
>
YuanHui Liu wrote:
Joe,
We got the exact same error message. The error came after we got theJDBC connection,
and trying to create statement off it.
It occurs intermitently when we are running another standalone JAVAapp to do
some end of day work, which results in the DB Server being very busy(90+%CPU
usage) for about 5 minutes. We see a surge of requests to the WLSJDBC Connection
pool. This would sometimes result in all our subsequent DB requeststo fail and
lead to a crash.
We are using WLS6.0SP1. I do not think there's a 30 seconds wait leadingto a
connection timeout that caused this(rather it is the end effect).
Can you give us a more detailed explanation? Is there a miscommunicationbetween
our DB(Sybase12) and WLS?Hi. It looks to you like it's after you get the connection, but really
it's when the server is
gettng the pool connection. For performance/synchronization reasons we
do a clever
delay: When your code asks for a pool connection we quickly give you
the pool wrapper,
but we delay actually reserving the real underlying DBMS connection until
your first
real need for a connection, at your first JDBC call, such as createStatement()
etc.
It is while waiting for a pool connection long enough for the transaction
coordinator
to have timed you out before you ever get a chance. It's nothing to do
with the
DBMS or even JDBC, I believe. I think the weblogic server either has
too few execute-threads
and/or too few CPU cycles to do the work load.
Okay, so there's a lazy initialization of the connection.
From reading our log I believe our failur is immediate rather
than waiting for 30+ seconds(the default setting) from the DB,
the timeout occurred later as a result. At the time either because the DB Server
is very busy.
Since we are running WLS6.0 we have only one connection pool,
we have defined a max of 150 threads in the pool. While this
is happening the DB Server is being pinned by an overnight job,
but the WLS Server is not busy at all. The DB and WLS resides
on different physical boxes.
We also have a thread dump from the WLS console when we rebooted the server, it
showed that we are hanging on to the thread & jdbc
connections after these exceptions has occurred instead of releasing them, note
"16083"(~4.5 hours) seconds has passed:
142 116222 Retry rollback request for tx: 'transaction=(IdHash=2963855,Name =
[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()],Xid=30643:8f3838f3709bf53d,Status=Rolling
Back. [Reason = Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since
begin=16083,seconds left=10,ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=server),SCInfo[server]=(state=active),properties=({weblogic.jdbc=t3://159.55.158.25:8005,
weblogic.transaction.name=[EJB UserManagerBeanImpl.signalICUserServletHeartBeat()]}))'
Scheduled Trigger
So I would argue this problem actually chewed up resources on the WLS server.
-Yuanhui Liu
>>
>>
Thanks.
-YuanHui Liu
Joseph Weinstein <[email protected]> wrote:
lixin wrote:
One of our customers starts to encounter this error message recently.
We checked our log files. It seems that the error happens when
to obtain a jdbc connection. Have anyone seen similar problems
and knows how to fix it? thanks in advance.
We are using weblogic server 6.1sp2, and weblogic sql type 4 driver.
The functions that invoke the jdbc calls are stateless session bean
methods with their transaction attributes marked as Required.
There is no nested calls of these methods.
A partial stack trace we obtained is as following:
java.sql.SQLException: No JDBC connection can be made
because the transaction state is
Marked Rollback
at weblogic.jdbc.jts.Connection.getOrCreateConnection(Connection.java:586)Hi. This sounds like a JVM thread starvation issue, and/or a server
load
issue. What is
happening is that the transaction is started, and times out beforethe
SSB even gets to
the first JDBC work. I would first verify that the customer is using
the very latest JVM
available for the machine.
Joe Weinstein
at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:115)
at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:135)
at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:76)
lixin -
WebLogic 6.1 SP2 stateful EJB handle serialization problem
I try to serialize and later deserialize the handle of a stateful
session bean in WebLogic 6.1 SP2. This works on the client, but not on
the server. In WebLogic 6.1 SP1, it worked on both server and client.
The test code:
try {
InitialContext context = new InitialContext();
InfSessionHome sessionHome = (InfSessionHome)
InfEJBUtil.getInfEJBHome
(context, InfJNDINames.INFSESSION_EJBHOME,
InfSessionHome.class);
infSession1 = sessionHome.create();
// serialize
ObjectOutputStream objector = new ObjectOutputStream(byteStream);
objector.writeObject(infSession1.getHandle());
objector.flush();
objector.close();
byte[] ejbKeyBytes = byteStream.toByteArray();
// deserialize
ByteArrayInputStream byteInStream = new
ByteArrayInputStream(ejbKeyBytes);
ObjectInputStream objStream = new ObjectInputStream(byteInStream);
Handle ejbHandle = (Handle) objStream.readObject();
objStream.close();
InfSession infSession2 = (InfSession) ejbHandle.getEJBObject();
if (!infSession2.equals(infSession1)) {
throw new IllegalStateException("not equal: " + infSession2);
} catch (Exception e) {
e.printStackTrace();
I get the following stack trace in the readObject() call:
java.io.InvalidClassException:
weblogic.rmi.internal.LocalServerRefMissing no-arg constructor for
class
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1221)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
at weblogic.ejb20.internal.HandleImpl.readExternal(HandleImpl.java:89)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1212)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
I suppose that WebLogic uses a different handle on the server
(LocalServerRef class, handle local to it's EJB) than on the client.
I took the routine from Apache SOAP 2.2 StatefulEJBProvider. So I
suppose that more people are running into the same problem.
Does anybody know of a workaround?
TomJust a small addition/clarification to what Cameron said on serialization.
- The no argument constructor is required in the first non-serializable class in the object hierarchy for de-serialization process. If your class extends form Object class(which has a no arg constructor), you need not have a no-arg constructor. refere to http://64.49.216.133/faq/view.jsp?EID=251942 for more details.
- Also I suggest using the api
isIdentical(...)
instead of equals method in the code if you are trying to establish whether the two objects represent the same EJBObject or not
- Rajeev
Cameron Purdy <[email protected]> wrote in message news:[email protected]...
A no-argument constructor is required for a class to be deserialized. It
sounds like a BEA bug from the stack trace, but make sure you don't have
something extra that you are serializing on something of yours that should
be transient. (It's hard to imagine how, but you never know ...)
Peace,
Cameron Purdy
Tangosol, Inc.
Clustering Weblogic? You're either using Coherence, or you should be!
Download a Tangosol Coherence eval today at http://www.tangosol.com/
"Tom Gerber" <[email protected]> wrote in message
news:[email protected]...
I try to serialize and later deserialize the handle of a stateful
session bean in WebLogic 6.1 SP2. This works on the client, but not on
the server. In WebLogic 6.1 SP1, it worked on both server and client.
The test code:
try {
InitialContext context = new InitialContext();
InfSessionHome sessionHome = (InfSessionHome)
InfEJBUtil.getInfEJBHome
(context, InfJNDINames.INFSESSION_EJBHOME,
InfSessionHome.class);
infSession1 = sessionHome.create();
// serialize
ObjectOutputStream objector = new ObjectOutputStream(byteStream);
objector.writeObject(infSession1.getHandle());
objector.flush();
objector.close();
byte[] ejbKeyBytes = byteStream.toByteArray();
// deserialize
ByteArrayInputStream byteInStream = new
ByteArrayInputStream(ejbKeyBytes);
ObjectInputStream objStream = new ObjectInputStream(byteInStream);
Handle ejbHandle = (Handle) objStream.readObject();
objStream.close();
InfSession infSession2 = (InfSession) ejbHandle.getEJBObject();
if (!infSession2.equals(infSession1)) {
throw new IllegalStateException("not equal: " + infSession2);
} catch (Exception e) {
e.printStackTrace();
I get the following stack trace in the readObject() call:
java.io.InvalidClassException:
weblogic.rmi.internal.LocalServerRefMissing no-arg constructor for
class
atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:1221)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
atjava.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:2263)
atjava.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:519)
at weblogic.rmi.internal.StubInfo.readObject(StubInfo.java:73)
at java.lang.reflect.Method.invoke(Native Method)
atjava.io.ObjectInputStream.invokeObjectReader(ObjectInputStream.java:2214)
atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:1411)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
atweblogic.ejb20.internal.HandleImpl.readExternal(HandleImpl.java:89)
atjava.io.ObjectInputStream.inputObject(ObjectInputStream.java:1212)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
atjava.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
I suppose that WebLogic uses a different handle on the server
(LocalServerRef class, handle local to it's EJB) than on the client.
I took the routine from Apache SOAP 2.2 StatefulEJBProvider. So I
suppose that more people are running into the same problem.
Does anybody know of a workaround?
Tom
[att1.html] -
JDBC connection pools problems: weblogic doesn't release connections
Hi all,
we use Weblogic 5.1 in conjunction with Content Server 3.6 and Oracle
8.1.6;
We have this strange problem:
Calling a page the connections, in the content server connection pool,
grows up till the maximum. We think the problem is that Weblogic
doesn't release used connections.
Does anybody can help us? Did anybody had the same problem?
Best Regards,
Marcello VillaniHi. I'd have to see the code. When a pool connection is closed, it gets
back into the pool. Until it's closed, it doesn't.
Marcello Villani wrote:
Hi all,
we use Weblogic 5.1 in conjunction with Content Server 3.6 and Oracle
8.1.6;
We have this strange problem:
Calling a page the connections, in the content server connection pool,
grows up till the maximum. We think the problem is that Weblogic
doesn't release used connections.
Does anybody can help us? Did anybody had the same problem?
Best Regards,
Marcello Villani -
Configure Weblogic to force JTA transactions to commit.
Hello Everyone,
I have a webservice running on a Tomcat Server and connected to an Oracle DB.
Data is being selected, pulled out and send through the weblogic JMS client.
This data is marked as sent but my code is restricted by the system´s design and is not allowed to commit the transactions. This is responsibility of the Weblogic’s JTA layer.
Here is the problem: my code is being called every minute and it is retrieving records that should already be marked.
And worst: the Java webservice code can’t be modified by client’s request.
How can I setup my Weblogic server to ensure the mark?
Is there any other place I should look?
Thanks in advance.
M.
Edited by: 914451 on Feb 15, 2012 5:17 AMThe configuration for JTA can be found in the admin console. The domain configuration, JTA tab shows how JTA is configured.
On the deployments, monitoring tab you can find all the subsystems runtime information. What you are probably interested in
is the JDBC (data sources and connection pooling). Here you can enable (by clicking on customize this table) how many active
connections are present at the current moment. When the active connections keep growing (or the leaked connection count)
there is probably never any commit or rollback issued (and maybe worse the connections are not returned to the pool)
When the third party is using EJB's, you see information about the transaction in the monitoring, EJBs tab. Here also you
need to customize the table to add the transactions committed, rolled back, timed out attributes.
The specific JTA information for a particular server (to which the application is deployed) can be found in the environment, servers, server_name,
monitoring, JTA. Here you see different tabs, such as Summary (that gives you an overview of the transactions). There is also an Transactions
tab that gives you the possibility the commit, roll back transactions.
When you want to get behind what is really going on you have to know what the third party is doing. -
"domain was null"; rmicontext=false; JTA UserTransaction;EJB Transaction
Hi folks!
I´m doing a test with EJB´s and JTA transactions.
The goal of the test is to verify if the OC4J will recognize a JTA User Transaction opened by a client just before an EJB method invocation and use it inside the EJB method, instead of opening a new transaction.
So, I have an EJB with conteiner managed transaction feature "Required".
And I have a client of this EJB, that opens a JTA UserTransaction and performs some updates and calls the EJB.
After the EJB call, I throwed a RuntimeException. The proposal of throwing this exception is to force the rollback of all the transaction ( the updates made by the client and the updates made by the ejb must not be commited ).
My method seems like this ( actually it´s a little bit more structured, but for understading purporses, i put it all in one method only here ):
<pre>
public void testTransaction () {
boolean commit = false;
javax.transaction.UserTransaction ut = null;
try {
// getting the JTA Transaction
javax.naming.Context initCtx = new javax.naming.InitialContext();
ut = (javax.transaction.UserTransaction) initCtx.lookup("java:comp/UserTransaction");
ut.begin();
try{
//issue the update
Connection conn = null;
try {
Context ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("jdbc/JTADS");
conn = ds.getConnection();
PreparedStatement stmt = conn.prepareStatement("UPDATE dont_drop_this_table set field2 =? where field1 = ?");
stmt.setString(1, "First Record");
stmt.setInt(2, 1);
stmt.executeUpdate();
} finally {
if (conn != null) conn.close();
//issue another update via EJB
Hashtable env = new Hashtable();
String initialContextFactory = "com.evermind.server.rmi.RMIInitialContextFactory";
String securityPrincipal = "jazn.com/admin";//admin
String securityCredentials = "welcome";//admin
String providerUrl = "ormi://localhost:23791/jta";
env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
env.put(Context.SECURITY_CREDENTIALS, securityCredentials);
env.put("dedicated.rmicontext", "false");
env.put("dedicated.connection", "false");
env.put(Context.PROVIDER_URL, providerUrl);
Context ctx = new InitialContext(env);
Object home = ctx.lookup(jndiName);
Object o = PortableRemoteObject.narrow(home, Class.forName("mytest.MyEJBHome"))
Class clazz = o.getClass();
Method method = clazz.getMethod("create", null);
MyEJBBean bean = (MyEJBBean) method.invoke(o, null);
//invoking ejb
bean.updateTable(2, "Second Record")
//force an ArrayOutOfBoundsException, in order to test
//if the EJB container will rollback or commit the ejb transaction.
int x[] = { 0 };
x[1] = 1;
x[2] = 1;
} catch (Exception e) {
throw new RuntimeException(e);
//if there was no exception thrown until here... then commit
commit = true;
catch ( Exception e ) {
throw new RuntimeException (e);
finally {
try {
if ( commit ) ut.commit();
else ut.rollback();
} catch ( Exception e ) {
throw new RuntimeException (e);
</pre>
Now my question:
When I use dedicated.rmicontext = true or dedicated.connection = true, the EJB container commits the transaction, even after the exception thrown. I understand that EJB container open a new transaction, instead of use the existing one ( jta UserTransaction.
When I use dedicated.rmicontext = false and dedicated.connection = false, the EJB container rollbacks the transaction, as I expected.
I´ve seen many posts about "domain was null" message after a NullPointerException.
I did many tests, but no NullPointerException was thrown, even when calling the EJB remotely nor issuing concurrent calls.
- I need the container rollback the transaction.
- I found that it only rollbacks when I put dedicated.rmicontext = false and dedicated.connection = false.
- I found that when dedicated.rmicontext = false and dedicated.connection = false, a NullPointerException may ocurr.
This "domain was null" problem seems to be an OC4J bug and the rmicontext=true an workaround for this bug, but I can´t use rmicontext=true because it will make the EJB transaction not to be the same JTA UserTransaction opened before the EJB call.
Is there any other way to make an EJB transaction be the same JTA UserTransaction openned before the EJB call?
PS: I´m using JDeveloper 10.1.2
Thanks for any help...Can anybody help me?
I need to know how can I set my EJB to use the same connection opened by a POJO class via JTA. ( Actually I need the EJB and POJO class be in same JTA transaction )
If I set the dedicated.rmicontext to false, it works but I run to risk of getting a NullPointerException "domain was null".
I realy need your help!
Thanks! -
Weblogic 12.1.3 JDBC driver
I migrated our application from 12.1.2 ADF to 12.1.3 and we have issues, a possible cause can be JDBC 4.1 , I want to use JDBC 4.0 driver for our datasource, I found ojdbc6.jar file in WLS 12.1.3 too, if this is JDBC 4.0 how can I use it ,if not and I copy over ojdbc6.jar from 12.1.2 ADF ,how can I define it in datasource list of drivers.
Hi Joe,
our app is working on ADF 12.1.2 with proxy user but it doesnt work on ADF 12.1.3, I logged issue in ADF forum but no luck only problem could be JDBC difference , casue we get follwoing exceptions:
<oracle.adf.model> <DBTransactionImpl> <closeTransaction> <[1532] *** closing jdbc connection now **** (weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@36)>
<oracle.adf.model> <DBTransactionImpl> <createPreparedStatement> <[1533] DBTransactionImpl.createPreparedStatement failed...>
<oracle.adf.model> <DBTransactionImpl> <createPreparedStatement> <[1534] java.sql.SQLException: Closed Statement
at oracle.jdbc.driver.OracleClosedStatement.setFetchSize(OracleClosedStatement.java:6214)
at oracle.jdbc.driver.OracleStatementWrapper.setFetchSize(OracleStatementWrapper.java:282)
at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setFetchSize(Unknown Source)
at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:1206)
at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3748)
at oracle.jbo.server.DBTransactionImpl2.createPreparedStatement(DBTransactionImpl2.java:398)
at com.enlogix.commonmodelcode.frwkext.CustomAppModuleImpl.beforeDisconnect(CustomAppModuleImpl.java:201)
at oracle.jbo.server.ApplicationModuleImpl.callBeforeDisconnect(ApplicationModuleImpl.java:7582)
at oracle.jbo.server.DBTransactionImpl.closeTransaction(DBTransactionImpl.java:1545)
at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:5585)
at oracle.jbo.server.DBTransactionImpl2.disconnect(DBTransactionImpl2.java:364)
at oracle.jbo.server.DBTransactionImpl.disconnect(DBTransactionImpl.java:5861)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:446)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9542)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4526)
at oracle.jbo.common.ampool.ApplicationPoolImpl.finalizeResource(ApplicationPoolImpl.java:1337)
at oracle.jbo.pool.ResourcePool.removeResourceInternal(ResourcePool.java:851)
at oracle.jbo.pool.ResourcePool.setState(ResourcePool.java:1168)
at oracle.jbo.pool.ResourcePool.removeResource(ResourcePool.java:863)
at oracle.jbo.common.ampool.ApplicationPoolImpl.removeDeadInstance(ApplicationPoolImpl.java:2652)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4557)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2453)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2263)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2298)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3162)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:590)
at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:224)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:523)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:518)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1507)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1398)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1366)
at parameters.ProxyAuthUserLoginBean.performProxyUserLogin(ProxyAuthUserLoginBean.java:133)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
>
<oracle.adf.model> <DBTransactionImpl> <processConnProperties> <[1535] mPCollUsePMgr is false>
<oracle.adf.model> <DBTransactionImpl> <processConnProperties> <[1536] ViewObjectImpl.mDefaultMaxRowsPerNode is 70>
<oracle.adf.model> <DBTransactionImpl> <processConnProperties> <[1537] ViewObjectImpl.mDefaultMaxActiveNodes is 30>
<oracle.adf.model> <DBTransactionImpl> <processProperties> <[1538] Default locking mode changed to: optimistic>
<oracle.adf.model> <ApplicationPoolImpl> <prepareApplicationModule> <[1539] An exception occured during checkout.>
<oracle.adf.model> <ApplicationPoolImpl> <prepareApplicationModule> <[1540] oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: rollback
at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3773)
at oracle.jbo.server.DBTransactionImpl2.createPreparedStatement(DBTransactionImpl2.java:398)
at com.enlogix.commonmodelcode.frwkext.CustomAppModuleImpl.prepareSession(CustomAppModuleImpl.java:140)
at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:7088)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:170)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9542)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4526)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2453)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2263)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2298)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3162)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:590)
at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:224)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:523)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:518)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1507)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1398)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1366)
at parameters.ProxyAuthUserLoginBean.performProxyUserLogin(ProxyAuthUserLoginBean.java:133)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused by: java.sql.SQLException: Closed Statement
at oracle.jdbc.driver.OracleClosedStatement.setFetchSize(OracleClosedStatement.java:6214)
at oracle.jdbc.driver.OracleStatementWrapper.setFetchSize(OracleStatementWrapper.java:282)
at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setFetchSize(Unknown Source)
at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:1206)
at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3748)
... 90 more
## Detail 0 ##
java.sql.SQLException: Closed Statement
at oracle.jdbc.driver.OracleClosedStatement.setFetchSize(OracleClosedStatement.java:6214)
at oracle.jdbc.driver.OracleStatementWrapper.setFetchSize(OracleStatementWrapper.java:282)
at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setFetchSize(Unknown Source)
at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:1206)
at oracle.jbo.server.DBTransactionImpl.createPreparedStatement(DBTransactionImpl.java:3748)
at oracle.jbo.server.DBTransactionImpl2.createPreparedStatement(DBTransactionImpl2.java:398)
at com.enlogix.commonmodelcode.frwkext.CustomAppModuleImpl.prepareSession(CustomAppModuleImpl.java:140)
at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:7088)
at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:170)
at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9542)
at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4526)
at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2453)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2263)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2298)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3162)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:590)
at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:224)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:523)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:518)
at oracle.jbo.client.Configuration.getApplicationModule(Configuration.java:1507)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1398)
at oracle.jbo.client.Configuration.createRootApplicationModule(Configuration.java:1366)
at parameters.ProxyAuthUserLoginBean.performProxyUserLogin(ProxyAuthUserLoginBean.java:133)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.el.parser.AstValue.invoke(AstValue.java:254)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:111)
at org.apache.myfaces.trinidad.component.UIXComponent.broadcastInContext(UIXComponent.java:364)
at org.apache.myfaces.trinidad.component.WrapperEvent.broadcastWrappedEvent(WrapperEvent.java:82)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:168)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:510)
at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:171)
at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:115)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:1074)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:402)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:502)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:327)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:229)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:202)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
>
JBO-27122: SQL error during statement preparation. Statement: rollback
<org.apache.myfaces.trinidadinternal.renderkit.core.StyleContextImpl> <StyleContextImpl> <isDisableStyleCompression> <DISABLE_CONTENT_COMPRESSION_IN_PRODUCTION_STAGE>
<org.apache.myfaces.trinidadinternal.skin.SkinImpl> <SkinImpl> <_isContentCompressionDisabled> <DISABLE_CONTENT_COMPRESSION_IN_PRODUCTION_STAGE> -
Hi there,
I've got some code (EJB) which connect
me to OLAPService on my 9i Oracle server. I deployed it to Oracle AS which
is istalled on another machine. Then I wrote client application which has to
connect to OAS and invoke EJB method to connect to OLAPService.
The connection to EJB was successfully established (of course through a
CORBA). But when EJB was trying to connect to Oracle9i I got such error :
javax.naming.NameNotFoundException:
sess_iiop://<server_ip>:<port>:<sid>/etc/OLAPServer/OLAPServer not found
I think it something wrong with my OAS enviroment. I have tried to do my best , but still nothing .... ( I am sure that everything else is OK, because I tried to make connection through
JDBC to relational database and it worked fine).
When I'm starting EJB's code as client application everything is OK. The
connection to OLAPService is established every time. When I modyfied code
for EJB (commenting code responsible for preparing InitailContextEnviroment
and connecting to OLAPService) everything was OK. So :
1) I can connect and invoke EJB's method deployed to OAS,
2) I can connect to Oracle9i OLAPService and use OLAPAPI methods,
3) I can't do it when I try to connect to OLAPService through the OAS (where
is EJB)
client_application (java) ===CORBA===> OAS ( EJB with OLAPAPI) ==CORBA==>
OLAPService
This is the EJB's method code ( when it is calling as client application it
works!!!!):
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import org.omg.CORBA.Object;
import oracle.aurora.jndi.sess_iiop.ServiceCtx;
import oracle.express.connection.Connection;
import oracle.express.connection.ConnectionManager;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.util.*;
public String Polaczenie()
String serviceURL="sess_iiop://<server_ip>:<port>:<sid>";
String objectName="/etc/OLAPServer/OLAPServer";
Hashtable env=new Hashtable();
env.put(Context.URL_PKG_PREFIXES,"oracle.aurora.jndi");
env.put(Context.SECURITY_PRINCIPAL,<user>);
env.put(Context.SECURITY_CREDENTIALS,<password>);
env.put(Context.SECURITY_AUTHENTICATION,ServiceCtx.NON_SSL_LOGIN);
try
Context ic=new InitialContext(env);
org.omg.CORBA.Object
ServiceStub=(org.omg.CORBA.Object)(ic.lookup(serviceURL+objectName));
Properties connParams = new Properties();
connParams.put("UserID",<user>);
connParams.put("Password",<password>);
ConnectionManager cm=ConnectionManager.init();
Connection conn=
cm.connect((org.omg.CORBA.Object)ServiceStub,connParams);
conn.close();
catch(Exception e)
return "\nError:" + e + "\n";
return "\nIt works\n";
This is client's code:
public static void main(String[] args)
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.PROVIDER_URL, "ormi://sasza/SerwerEjb");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "oracle");
Context context = new
com.evermind.server.rmi.RMIInitialContextFactory().getInitialContext(env);
Object homeObject = context.lookup("<myEJBName>");
SerwerEjbHome home = (SerwerEjbHome)
PortableRemoteObject.narrow(homeObject, pakiet.SerwerEjbHome.class);
SerwerEjb remote = home.create();
System.out.println(remote.Polaczenie()); <------------------ there is
error !!!!!!!!!!!!!!!!!! ------------------>
catch(Exception e)
System.err.println("Error: " + e + ":::" + e.getMessage());
Any idea ??
Thank you in advance."Taesun, An" <[email protected]> writes:
Thanks for your concern !Its my code - I should be concerned :)
I have successfuly tested the sample program that you attached.
and I have some more questions.Great!
Q1) Can I use idl files generated by weblogic.ejbc on the other ORB like as
orbix, etc..?Yes. But the problem is that Orbix is known to have problems with the
codeset that we send out. For silversword we are doing a GIOP 1.2
implementation a by-product of which will be that we have to do some
form of codeset negotiation, so hopefully these issues will be sorted
in the near future.
And I know that the Client.cpp program you sent differs from original source
code in the respects which is including TradeResultFactory and
TradeResultImpl classes.
Q2) If so, Do i have to implement the above classes for all of call by value
parameters or return type ?You have to write some C++ code for any valuetypes that you use. This
basically means any non-primitive object that is not a remote
interface and implements serializable.
I wanna know for the needed classes how to easily get generated or the other
solutions.I attach the entity bean example I cooked up which shows you how you
can use C++ macros to take away some of this pain. Note that you cannot make the finder method work with 6.0SP2. This will be fixed in 6.1
[generic_idl_entity.zip]
I got error message following as, when i used "-idlFactories" of
weblogic.ejbc option to generate Factory definition.
Usage: java weblogic.rmic [options] <classes>...
option descriptions ,.,........
option descriptions ,.,........
ERROR: Error from ejbc: Unrecognized option or flag, -idlFactories
ERROR: ejbc found errors
make: *** [ejbc] Error 1Hmm, you are right. It looks like the option didn't get inverted in
rmic. The attached class file should fix this.
[IDLGeneratorOptions.class]
andy
Maybe you are looking for
-
ITunes locks my iMac every so often?
Every so often, but pretty regularly, iTunes seems to cause my mouse or iMac to lock up? It's been doint this ever since I migrated my old iMac computer files to my ne iMac. Any ideas?
-
Talagent wants to use the local items keychain
Since the last upgrade I have repeated boxes that asks me for a password. I can't get rid of these and don;t know what the password is that I'm being asked for. I'm wasting a lot of time going round in circles. Can anyone help?
-
I've found that since upgrading to iWeb '08 the hit counter under My Pages on my .Mac home page is no longer there. It worked fine while I was working with iWeb '06. Everything else appears to be in order. The hit counter is working on the web page i
-
I don't know how to use GetMatchingArt(...) to get what I need
Hello programmers, I have compound path arts and path arts selected in the document. I want to have all the selected compund paths and then all the paths which are not part of a compound path. I do the following(short version): AIMatchingArtSpec path
-
I have a simple question. Can someone tell me how to access the management port on the css 11150? I configured the ip and mask on the management port and condigured my laptop for a ip on the same network. But i am unable to connect.