Stateful bean and cursor
Is a stateful bean maintaining a reference to a ResultSet an acceptable design?
The concern is that the resultset might need to be closed after each Stateful
Bean access such that we don't hold on resources on the database.
Stefan
Thanks Bob,
That's exactly what I was asking and it seems more clear now. Interesting if multiple
ResultsSet kept around open could share same db connection in which case this
could somehow scale. My concern was more directed towards number of Open Cursors
in the database, but overall it does not look like a proper design ...
Stefan
"Bob Lee" <[email protected]> wrote:
Not if the ResultSet will be kept open accross multiple web requests.
The
result set is most likely tied to a database connection. If too many
are
kept open, you database connection pool will get maxed out, and other
users
won't be able to access the site.
You can handle the paging by running the query every time. You can also
keep
an index of the column you are sorting on and use this to pick out exact
pages in your query. Memory is cheap.
Bob
"Stefan" <[email protected]> wrote in message
news:3c7be741$[email protected]..
Is a stateful bean maintaining a reference to a ResultSet an acceptabledesign?
The concern is that the resultset might need to be closed after eachStateful
Bean access such that we don't hold on resources on the database.
Stefan
Similar Messages
-
Stateful session bean and faces
I have one stateful session bean(EJB) that manages business logic and conditional page flow. In the web part i have a bunch of JSP pages and each page has it's own JSF bean with data and "submit" methods. Each bean has to keep a reference to this stateful bean and it should be the same reference among all beans. Also i have to create and destroy this bean some way (I think i can use HttpSessionBindingListener).So, any suggestions how to do this? Also i'm searching for 'tips'n'tricks' or design pattern for JSF.
antonwhy do you need to hold the same EJB reference in all your JSF beans?
something is wrong with your design, you should take a closer look to see why you need this. a stateless bean does not hold client specific state and there is no difference between stateless bean instances, so your JSF beans do not have to point to the same EJB reference. -
EJB 3.0 Stateful bean not saving state while Stateless bean is !!!
My Stateless bean is as follow:
package test;
import javax.ejb.Stateless;
@Stateless(mappedName = "StatelessBean")
public class StatelessBean implements StatelessBeanRemote {
int counter;
public void increment(){
System.out.println("Stateless counter value:"+counter);
counter++;
My Stateful bean is as follow:
package test;
import javax.ejb.Stateful;
@Stateful(mappedName = "StateFulBean")
public class StateFulBean implements StateFulBeanRemote {
int counter;
public void increment(){
System.out.println("Stateful counter value:"+counter);
Client is as follows:
package test;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
public class TestClient {
public static void main(String[] args) {
Hashtable hashtable = new Hashtable();
hashtable.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
hashtable.put(Context.PROVIDER_URL, "t3://localhost:7001");
InitialContext ic;
try {
ic = new InitialContext(hashtable);
StateFulBeanRemote stateFulBeanRemote = (StateFulBeanRemote)ic.lookup("StateFulBean#test.StateFulBeanRemote");
stateFulBeanRemote.increment();
StatelessBeanRemote statelessBeanRemote = (StatelessBeanRemote)ic.lookup("StatelessBean#test.StatelessBeanRemote");
statelessBeanRemote.increment();
} catch (Exception e) {
e.printStackTrace();
The output i am getting after running the client twice is as follows:
//first time
Stateful counter value:0
Stateless counter value:0
//second time
Stateful counter value:0
Stateless counter value:1
Shouldn't the counter values be incremented in case of Stateful bean and remain the same for Stateless bean. But the output that I am getting is the complete opposite !!!
Can anyone please explain this confusing behavior of stateless and stateful ejb 3.0 beans.868664 wrote:
Can anyone please explain this confusing behavior of stateless and stateful ejb 3.0 beans.It is very simple: a stateless bean is ASSUMED to be stateless; you cannot keep state in a stateless bean as a contractual rule. That doesn't mean that you will fail to keep state in them at least for a little while, they are still only Java objects. Generally stateless EJBs are pooled, so you may get the same instance each time you use such an EJB, but you may just get another one. It is not dependable and the rules say don't do it - so don't do it.
A stateful bean is tied to a single client, and so can be used by a client to keep state in it. Since You are running the client application twice you are operating with two different clients and so you will get a new stateful bean each time and your code will keep printing 0. However there is also a bug in your code:
public void increment(){
System.out.println("Stateful counter value:"+counter);
}You are not incrementing anything. -
Question about operations allowed in methods of stateless and stateful bean
Hello,
Can anyone tell me why ejbRemove and ejbCreate are allowed entreprise beans and resource manager access in stateful session beans and not in stateless session beans?
Thanks in advance,
Julien Martin.Salut Julien,
Can anyone tell me why ejbRemove and ejbCreate are
allowed entreprise beans and resource manager access
in stateful session beans and not in stateless session
beans?I'm not sure I fully understand your question, but here is some information that may answer it.
The user is the one who creates and removes a stateful session bean. The container is the one who creates and removes a stateless session bean. So the user can pass any parameters to the create of a SFSB because he theorically knows what to pass. The container doesn't, and doesn't want to. It just wants to create SLSB to pool them, but it doesn't pool SFSB.
Maybe it doesn't answer your question. Can you reformulate?
Kexkey -
Stateless and Stateful beans.
Please tell me what are the important differences between stateless, and stateful beans.
Thanks in advance.See this thread
http://forum.java.sun.com/thread.jsp?forum=13&thread=529706&tstart=15&trange=15 -
Help me in Stateless & Stateful Bean
hi,
I'm trying to understand to difference between the stateless and stateful bean. I had created an simple application to test it. But both the beans seems to work in the same way. Could some one explain me with an example the difference between the stateful and stateless bean ...
I'm using J2EE Reference Implementation and Deploytool .
Please help me .. Urgent ....
Cheers !!!
PrabsThanks!!
The State Session Bean tries to hold data , even after the client has finished execution. Moreover, the ejbCreate() get fired only once and not for different client.
Is there anything that I should do to make it stateless.
this is my code
Session Bean
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.util.*;
public class cartEJB implements SessionBean {
private Map m;
public cartEJB() { }
public void ejbCreate() {
m = new HashMap();
System.out.println("ejbCreate()");
public void ejbActivate() { }
public void ejbPassivate() { }
public void ejbRemove() { }
public void setSessionContext(SessionContext sc) { }
public void addCart(String product, String price) {
System.out.println("Its here Man 1");
m.put(product, price);
public void showCart() {
System.out.println("Its here Man 2");
Set s = m.entrySet();
Iterator it = s.iterator();
while(it.hasNext()) {
System.out.println(it.next());
REMOTE
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface cart extends EJBObject {
public void addCart(String product , String price) throws RemoteException;
public void showCart() throws RemoteException;
HOME
import javax.ejb.EJBHome;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
public interface cartHome extends EJBHome {
public cart create() throws CreateException, RemoteException;
client application is an web based application ..
Client code. ... (jsp:useBean)
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.servlet.http.*;
public class cartJSP implements HttpSessionBindingListener{
String Product = new String();
String Price = new String();
HttpSession session;
public cartJSP() {
public void setProduct(String p){
this.Product = p;
public void setPrice(String price) {
this.Price=price;
public String getPrice() {
return Price;
public String getProduct() {
return Product;
public void addIt(String product , String price ) {
try {
System.out.println("Comes here");
Context ic = new InitialContext();
Object objref = (Object)ic.lookup("ejb/cartJNDI");
cartHome home = (cartHome)PortableRemoteObject.narrow(objref, cartHome.class);
cart remote = home.create();
remote.addCart(product, price);
System.out.println("Comes here");
remote.showCart();
catch(Exception e) {
e.printStackTrace();
public void showIt() {
try {
Context ic = new InitialContext();
Object objref = (Object)ic.lookup("ejb/cartJNDI");
cartHome home = (cartHome)PortableRemoteObject.narrow(objref, cartHome.class);
cart remote = home.create();
remote.showCart();
System.out.println("Comes here 1");
catch(Exception e) {
e.printStackTrace();
public void valueBound(HttpSessionBindingEvent e) {
session = e.getSession();
session.setMaxInactiveInterval(60);
System.out.println("Value Bound");
public void valueUnbound(HttpSessionBindingEvent e) {
System.out.println("Value UnBound");
I'm using J2EE RI 1.3 and I'm deploying components using deploytool.
Please help me,
Check the code is wrong or is it a bug in the EJB container.
regards
prabu. -
Stateful bean not failing over
I have a cluster of two servers and a Admin server. Both servers are running NT
4 sp6 and WLS6 sp1.
When I stop one of the servers, the client does n't automatically failover to
the other server, instead it fails unable to contact server that has failed.
My bean is configured to have its home clusterable and is a stateful bean. My
client holds onto the remote interface, and makes calls through this. If Server
B fails then it should automatically fail over to server A.
I have tested my multicast address and all seems to be working fine between servers,
my stateless bean work well, load balancing between servers nicely.
Does anybody have any ideas, regarding what could be causing the stateful bean
remote interface not to be providing failover info.
Also is it true that you can have only one JMS destination queue/topic per cluster..The
JMS cluster targeting doesn't work at the moment, so you need to deploy to individual
servers?
Thanks
Did you enable stateful session bean replication in the
weblogic-ejb-jar.xml?
-- Rob
Wayne Highland wrote:
>
> I have a cluster of two servers and a Admin server. Both servers are running NT
> 4 sp6 and WLS6 sp1.
> When I stop one of the servers, the client does n't automatically failover to
> the other server, instead it fails unable to contact server that has failed.
>
> My bean is configured to have its home clusterable and is a stateful bean. My
> client holds onto the remote interface, and makes calls through this. If Server
> B fails then it should automatically fail over to server A.
>
> I have tested my multicast address and all seems to be working fine between servers,
> my stateless bean work well, load balancing between servers nicely.
>
> Does anybody have any ideas, regarding what could be causing the stateful bean
> remote interface not to be providing failover info.
>
> Also is it true that you can have only one JMS destination queue/topic per cluster..The
> JMS cluster targeting doesn't work at the moment, so you need to deploy to individual
> servers?
>
> Thanks
Coming Soon: Building J2EE Applications & BEA WebLogic Server
by Michael Girdley, Rob Woollen, and Sandra Emerson
http://learnweblogic.com
-
Handling disconnections in stateful beans
i have a stateful bean with some resources that it has to close after closing. I programed a close () method, marked as +@Remove+, that clients call to close the resources; and a exiting () method, marked as @PreDestroy to finish the work.
but, how can i handle unexpected disconnections, for clients frozen, cable network disconnected or the like, when the client () can't call the close method?
It thought that +@PreDestroy+ method should replace finalize method's, but it doesn't.
What can i do?Ok... Here it goes...
You can do it in the following manner.
As you said you have got 2 private methods doing d/b updates and these are called from a public method.
Stateful session beans since associated with a client across methods, you can take advantage of it. Write your own user defined transaction.
Begin the transaction scope in your public before calling the 1st private method. Call the 2 methods in a try block. Once you are done with these methods, you can commit and end the transaction. If you get any exception, rollback the transaction in the catch block. Otherwise if u get any exception in the 2nd method, you can rollback the transaction there itself.
Stateful session beans lets u allow to spawn the bean managed transaction across methods. you can begin your transaction in one method and end it in a differnt method or you can end the transaction after calling the methods.
The problem you are dealing with can typically very well handled by writing bean managed transaction.
Hope this helps. If you need anymore clarity on my solution, please let me know.
-amit -
Stateful beans in cache doesn't seem to work
I have a stateful bean that I have set max beans in cache to "1". When I deploy it, no errors reported or so, the Weblogic console still states "8" in the column "Cached Beans Current Count" when monitoring the bean.
When I view the descriptor in the console it looks fine. What can be wrong here?
Using Weblogic 8.1 SP4, here's the statueful descriptor:
<weblogic-enterprise-bean>
<ejb-name>MyStatefulBean</ejb-name>
<stateful-session-descriptor>
<stateful-session-cache>
<max-beans-in-cache>1</max-beans-in-cache>
</stateful-session-cache>
<allow-concurrent-calls>True</allow-concurrent-calls>
</stateful-session-descriptor>
<reference-descriptor>
</reference-descriptor>
<enable-call-by-reference>True</enable-call-by-reference>
<jndi-name>test.mystatefulbean/MyStatefulBean/Home</jndi-name>
<local-jndi-name>test.mystatefulbean/MyStatefulBean/LocalHome</local-jndi-name>
</weblogic-enterprise-bean>I agree with you about the host not being able to install (or at least don't want to install/upgrade) their servers to php5.4... Unfortunately, I can't change that... but by shutting them off took care of all the quotes (single & double) and any other characters which would basically function like an addslashes() command. I'll paste the script below... It's still pretty much the same as when you helped me out with the script... Just minor adjustments::: If you can show me (even though I fixed the problem) how I would integrate the stripslashes() function to the comment field it would be helpful to know for future reference.
<?php // Script 1.0 - contactlist.php
if (isset($_POST['submit']) && !empty($_POST['submit'])) // Test if submit button named submit was clicked and not empty
if (!empty($_POST['first']) && !empty($_POST['last']) && !empty($_POST['email']) && !empty($_POST['phone']) && !empty($_POST['comment'])) {
$comment=stripslashes($_POST[comment]);
$body = "First Name: {$_POST['first']}\nLast Name: {$_POST['last']}\nEmail Address: {$_POST['email']}\nContact Phone Number: {$_POST['phone']}\nContact Preference: {$_POST['contactvia']}\n\nBest Time To Contact: {$_POST['timepref']}\n\nComments:\n {$_POST['comment']}";
$body = wordwrap($body, 70);
mail([email protected]', 'NEW Customer Inquiry Submission',$body, "From: {$_POST['email']}");
header('Location: index.html'); //Redirect to new url if form submitted
?> -
Hi,
Does weblogic 5.1 support stateful bean clustering? If not how to achive this?
Thanks in advance,
vivek
6.x supports stateful session beans clustering (replication and failover), but not 5.1.
Vivek <[email protected]> wrote:
> Hi,
> Does weblogic 5.1 support stateful bean clustering? If not how to achive this?
> Thanks in advance,
> vivek
Dimitri
-
No resource available error coming while trying to create a session bean and loading a resultset
Hi,
I'm trying to create a session bean and load a resultset within it when the following
error occurs.What could be the reason?Need an immediate response.Thanks
in advance
Thomas
java.rmi.RemoteException: EJB Exception:; nested exception is:
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
Start server side stack tCrraecaet:i
njga vTaa.brlmeib.eRaenm oSt|eSException|:W OECJTBL _EMxScTe
ptCioonnn:e;t innegs tteod Seexrcveeprt.i opnl si sw:a i
t
jaCvraexa.teijnbg. ETJaBbElxecbeepatni oIn|
D |-W OwAiDtVhI _nDeAsTt
ed exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:279)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
javax.ejb.EJBException:
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:279)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
java.sql.SQLException: weblogic.common.ResourceException: No resources available
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
javax.ejb.EJBException:
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:279)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
Exception occurred during event dispatching:
java.lang.NullPointerException
at BaseClasses.busWORRUR01.<init>(busWORRUR01.java:261)
at BaseClasses.frmWorrur01.butStartActionPerformed(frmWorrur01.java:186)
at BaseClasses.frmWorrur01.access$1(frmWorrur01.java:175)
at BaseClasses.frmWorrur01$2.actionPerformed(frmWorrur01.java:123)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:926)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)Thomas wrote:
Hi,
I'm trying to create a session bean and load a resultset within it when the following
error occurs.What could be the reason?Need an immediate response.Thanks
in advance
ThomasIt means the pool doesn't have a connection available for this thread to use, after waiting
some time for any other thread to return one. Either your pool is not big enough, or your
bean code may sometimes be forgetting to close any connection it gets. Note that in
a stateful session bean, you may fall into the trap of retaining a JDBC connection open
for the duration of the session. If you do this, your pool must have as many connections
as the maximum number of simultaenous sessions you want to support. Usually the aim is
to obtain a pool connection, use it, and return it to the pool, all within any single response
to the client. Then you only need as many pool connections as there are execute threads
in the server. Having a DBMS transaction that spans user input is an invitation to deadlocks,
bottlenecks in performance etc.
Joe Weinstein at B.E.A.
>
>
java.rmi.RemoteException: EJB Exception:; nested exception is:
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
Start server side stack tCrraecaet:i
njga vTaa.brlmeib.eRaenm oSt|eSException|:W OECJTBL _EMxScTe
ptCioonnn:e;t innegs tteod Seexrcveeprt.i opnl si sw:a i
t
jaCvraexa.teijnbg. ETJaBbElxecbeepatni oIn|
D |-W OwAiDtVhI _nDeAsTt
ed exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:279)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
; nested exception is:
javax.ejb.EJBException:
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:279)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
java.sql.SQLException: weblogic.common.ResourceException: No resources available
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
--------------- nested within: ------------------
javax.ejb.EJBException:
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
javax.ejb.EJBException
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available]
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:279)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
- with nested exception:
[java.sql.SQLException: weblogic.common.ResourceException: No resources available
Start server side stack trace:
java.sql.SQLException: weblogic.common.ResourceException: No resources available
at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:197)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:219)
at packbss.javatranslator.dataaccess.ComDataBean.subLoadResultset(ComDataBean.java:264)
at packbss.javatranslator.dataaccess.ComDataBean.ejbCreate(ComDataBean.java:50)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_Impl.ejbCreate(ComDataBean_vzmqkb_Impl.java:112)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.ejb20.manager.StatefulSessionManager.create(StatefulSessionManager.java:657)
at weblogic.ejb20.manager.StatefulSessionManager.remoteCreate(StatefulSessionManager.java:705)
at weblogic.ejb20.internal.StatefulEJBHome.create(StatefulEJBHome.java:142)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl.create(ComDataBean_vzmqkb_HomeImpl.java:82)
at packbss.javatranslator.dataaccess.ComDataBean_vzmqkb_HomeImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:296)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:265)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
End server side stack trace
<<no stack trace available>>
Exception occurred during event dispatching:
java.lang.NullPointerException
at BaseClasses.busWORRUR01.<init>(busWORRUR01.java:261)
at BaseClasses.frmWorrur01.butStartActionPerformed(frmWorrur01.java:186)
at BaseClasses.frmWorrur01.access$1(frmWorrur01.java:175)
at BaseClasses.frmWorrur01$2.actionPerformed(frmWorrur01.java:123)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:926)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85) -
Statful Session bean and its life
Hi,
I don't know how long a Stateful session bean lives in the memory. What keeps
the stateful bean around?
I do have a Stateful session bean in my application creating some problem. When
the user first uses the stateful session bean, the bean remote reference is stored
in the user session object. Even though the user session is active and not invalidated,
stateful session bean is getting timed-out. I am using weblogic 6.1 with SP2.
Please help. Thanks.
Below is the exception stack trace:
weblogic.ejb20.locks.LockTimedOutException: The lock request from EJB:SearchList
HandlerBean with primary key:10,085,579,643,420,691 timed-out after waiting 0
ms
. The transaction or thread requesting the lock was:Thread[ExecuteThread: '10'
f
or queue: 'default',5,Thread Group for Queue: 'default'].
at weblogic.ejb20.locks.ExclusiveLockManager$LockBucket.lock(ExclusiveLo
ckManager.java:448)
at weblogic.ejb20.locks.ExclusiveLockManager.lock(ExclusiveLockManager.j
ava:258)
at weblogic.ejb20.manager.StatefulSessionManager.acquireLock(StatefulSes
sionManager.java:226)
at weblogic.ejb20.manager.StatefulSessionManager.acquireLock(StatefulSes
sionManager.java:216)
at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessi
onManager.java:310)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:11
7)
at weblogic.ejb20.internal.StatefulEJBObject.preInvoke(StatefulEJBObject
.java:170)
at com.sherwin.sweep.services.common.SearchListHandlerBean_w4ccs4_EOImpl
.getSize(SearchListHandlerBean_w4ccs4_EOImpl.java:234)The usual cause is a user loads a page, the request takes a while so
they hit stop and reload. There's other possibilities like frames etc.
-- Rob
Sai S Prasad wrote:
Thanks Rob for the response. Every instance of the sfsb is tied to a particular
user web session. I am not sure how the concurrent calls take place. I am almost
certain that I am not calling any methods in sfsb concurrently. Thanks again.
Rob Woollen <[email protected]> wrote:
The sfsb hasn't timed out. This is the EJB lock manager that's
complaining. I suspect you are trying to make concurrent calls on a
sfsb instance.
-- Rob
Sai S Prasad wrote:
Hi,
I don't know how long a Stateful session bean lives in the memory.What keeps
the stateful bean around?
I do have a Stateful session bean in my application creating some problem.When
the user first uses the stateful session bean, the bean remote referenceis stored
in the user session object. Even though the user session is activeand not invalidated,
stateful session bean is getting timed-out. I am using weblogic 6.1with SP2.
Please help. Thanks.
Below is the exception stack trace:
weblogic.ejb20.locks.LockTimedOutException: The lock request from EJB:SearchList
HandlerBean with primary key:10,085,579,643,420,691 timed-out afterwaiting 0
ms
The transaction or thread requesting the lock was:Thread[ExecuteThread:'10'
f
or queue: 'default',5,Thread Group for Queue: 'default'].
at weblogic.ejb20.locks.ExclusiveLockManager$LockBucket.lock(ExclusiveLo
ckManager.java:448)
at weblogic.ejb20.locks.ExclusiveLockManager.lock(ExclusiveLockManager.j
ava:258)
at weblogic.ejb20.manager.StatefulSessionManager.acquireLock(StatefulSes
sionManager.java:226)
at weblogic.ejb20.manager.StatefulSessionManager.acquireLock(StatefulSes
sionManager.java:216)
at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessi
onManager.java:310)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:11
7)
at weblogic.ejb20.internal.StatefulEJBObject.preInvoke(StatefulEJBObject
java:170)
at com.sherwin.sweep.services.common.SearchListHandlerBean_w4ccs4_EOImpl
getSize(SearchListHandlerBean_w4ccs4_EOImpl.java:234) -
Stateful bean handle in HttpSession
Hi ,
I have environment where i create a pool of stateful EJB's and I store the pool
in the servlet context. For each requests I obtain the refernce to the ejbhandle
from the pool and exceute the method on the stateful bean. I use this ejbhandle till
the session is ended. Is there any problem with this sort of design in the clustering
environment?
As per the httpsession replication after the state of the object stored in the sesion
is changed , setAttribute method has to be called for the replication. So is it the
same for ejbhandle also?
After I call some methos on the SFEJB (getting a reference via EJBHandle in the session),
do I have to call set sttaribute and pass the ejb handle for the replication?
Any amount of feed back is appreciated.
Thanks,
sri
The handle is serializable and portable. You can put it into the HTTP
session. If you don't use setAttribute, the data won't get replicated. For
example:
Object[] ao = new Object[10];
session.putAttribute("test", ao);
// replication occurs
... later ...
Object[] ao = (Object[]) session.getAttribute("test");
ao[3]="hello world";
// no replication occurs
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com/coherence.jsp
Tangosol Coherence: Clustered Replicated Cache for Weblogic
"sri" <[email protected]> wrote in message
news:[email protected]...
>
> Hi ,
>
> I have environment where i create a pool of stateful EJB's and I store
the pool
> in the servlet context. For each requests I obtain the refernce to the
ejbhandle
> from the pool and exceute the method on the stateful bean. I use this
ejbhandle till
> the session is ended. Is there any problem with this sort of design in
the clustering
> environment?
>
> As per the httpsession replication after the state of the object stored in
the sesion
> is changed , setAttribute method has to be called for the replication. So
is it the
> same for ejbhandle also?
> After I call some methos on the SFEJB (getting a reference via EJBHandle
in the session),
> do I have to call set sttaribute and pass the ejb handle for the
replication?
>
> Any amount of feed back is appreciated.
>
> Thanks,
> sri
>
-
What is difference between Managed Bean and Backing Bean?
What is difference between Managed Bean and Backing Bean? Please guide me how to create them and when to use them?
Please post sample for both beans.Hi,
managed beans and backing beans are quite the same in that the Java object is managed by the JavaServer Faces framework. Manage in this respect means instantiation. The difference is that backing beans contain component "binding" references, which managed beans usually don't. Do backing beans are page specific versions of managed beans.
Managed beans are configured either in the faces-config.xml file, or using ADF Faces and ADFc, in the adfc-config.xml file
Frank
Edited by: Frank Nimphius on Jan 31, 2011 8:49 AM -
Autocommit and Cursor commit Behaviour
Hi,
I need help to set and get the Autocommit and Cursor commit behavior attributes
in Oracle.
AUTOCOMMIT:
For DDL Statement, this attribute is set while executing the OCIStmtExecute() api
as below:-
r = OCIStmtExecute(d->svc, d->sql, d->err, 1,0,
(CONST OCISnapshot *) NULL,
(OCISnapshot *) NULL,
d->transaction ? OCI_DEFAULT : OCI_COMMIT_ON_SUCCESS);
For DML Statement, from the OCI documentation the database parameter attributes
support OCI_ATTR_AUTOCOMMIT_DDL with the values OCI_AC_DDL and OCI_NO_AC_DDL.
Since this is a parameter attribute, I couldn't set using OCIAttrSet() API.
I need help in implementing AUTOCOMMIT for both DDL / DML statements.
CURSOR COMMIT BEHAVIOUR:
Similarly, I have observed that Oracle support cursor commit behavior attributes
using OCI_ATTR_CURSOR_COMMIT_BEHAVIOR and the attribute values are OCI_CURSOR_OPEN and OCI_CURSOR_CLOSED.
I have tried setting this attribute as below:-
ub1 nCommitType = OCI_CURSOR_OPEN;
oraRC = OCIAttrSet((dvoid *)d->svc, (ub4)OCI_HTYPE_SVCCTX,
(dvoid *)&nCommitType,
(ub4)sizeof(nCommitType),
OCI_ATTR_CURSOR_COMMIT_BEHAVIOR, d->err);
This always fails with the error ORA-24315: illegal attribute type.
I need help in setting this attribute using OCI.
Another approach to set Autocommit / Close Cursor attributes:-
Oracle support SET commands for autocommit and closecursor, I have prepared
and executed these set commands using OCIStmtPrepare and OCIStmtExecute api. The OCIStmtExecute() API fails to execute the below command texts.
SET AUTOCOMMIT ON/OFF
SET CLOSECURSOR ON/OFF
Is it the right method of setting these attributes?
Thanks,
Sankar.P.Hi.
You are trying to commit "child" information before your Parent information is commited.
Can you describe how you dragged & droped your views?.
Dragged relationship views or single views?.
Can you put output log with jbo with FINEST level?.
To find a solution try next solutions:
1) Disable "strong" association between your parent-child entities. To achieve it follow next steps:
- Go to your "Assoc" that describes your foreign key.
- In "Realtionship" tab, "Behaviour" disable "Composition Association".
Image: http://1.bp.blogspot.com/-Em8NZvjOUzo/T_NQbJTcLjI/AAAAAAAAAm4/hPsDwtEhJQ4/s1600/4.png
2) Drag and Drop correct views as a Master-Detail (cascading views in your Data Control).
http://2.bp.blogspot.com/-1By5vNNGMFQ/T_NQdYzexKI/AAAAAAAAAnE/DGn7Gr0RSDw/s1600/6.png (in spanish).
In the image, drag & drop PortalwebView2 is the correct way for Master-Details tables. Probably you dragged PortalwebView1 that have dependecy to master table.
Steps that you have followed:
- Drag & Drop dependen View Object as a Master-Detail with two tables.
- Add Create operations from these views to create Rows.
- Add Commit general operation from Data Control.
Try to drag & drop Master-Detail views correctly before disable association.
PD: To try your model faster run Model project instead of your application.
Regards.
Edited by: Daniel Merchán on 30-jul-2012 12:05
Maybe you are looking for
-
Disk Repair Issue on iMac G4 Flat-Panel
A few months back, I started up my computer and received the endless loading pinwheel, with no progress since. After visiting this site and getting some info, I was able to discover I had a number of catalog and directory issues which I was told coul
-
Formula is not working properly
Hello Friends, I have a simple problem and I couldn't get through with this. I am doing a simple calculation in the formula .. Here it is --- Actual Quantity / Forecast quantity If it 1/0 , it is displaying 22.33 , 24/6 = 89.87 etc Someone please te
-
How can i import more the one music title in the slideshow in Photoshop Elements?
If i have a slideshow for about 20 minutes I want to have many music titles
-
Disk space for a Windows 8 Boot Camp partition?
Hi, Hope your are all doing good Could you could please help me with how much hard disk space do i need for windows 8 bootcamp Current Os ( Mountan lion) Applications intended to be used Win 7/ Win 8 Office 2013 & office 2007 ( Only Word , Power po
-
What is Error - 2000: ?
I just purchased Quicktime Pro and can't seem to be able to export a movie to CD or DVD that I can play on a different computer than the one I created the movie on. I have tried to export to .mov files, 3GP files,m4v files. I can play them all on my