-
1. Re: Stateless Session Bean pool MaximumSize with strictMaxim
rmurugs Aug 21, 2008 5:25 PM (in response to ashley_betts70)in jboss.xml , add this and try out.
<ejb-name>ejbName</ejb-name>
<pool-config>
<pool-class>org.jboss.ejb3.StrictMaxPool</pool-class>
<pool-max-size>5</pool-max-size>
<pool-timeout>60000</pool-timeout>
</pool-config> -
2. Re: Stateless Session Bean pool MaximumSize with strictMaxim
ashley_betts70 Aug 21, 2008 7:54 PM (in response to ashley_betts70)Thanks for the response rmurugs.
Unfortunately what you've suggested doesn't comply with the dtd: http://www.jboss.org/j2ee/dtd/jboss_4_2.dtd and won't build.
Is there any other way I can enforce StrictMaxPool? -
3. Re: Stateless Session Bean pool MaximumSize with strictMaxim
shreyasshinde Sep 23, 2008 6:44 PM (in response to ashley_betts70)For EJB 3.0 you can edit the ejb3-interceptors-aop.xml file under /jboss_home/server/all/deploy directory. Edit the element for "Stateless Bean" with something like this
@org.jboss.annotation.ejb.PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=1, timeout=10000)
I hope this helps.
Thanks, -
4. Re: Stateless Session Bean pool MaximumSize with strictMaxim
sandeepk May 19, 2009 6:37 PM (in response to ashley_betts70)With StrictMaxPool class and maxSize 1 it blocks all the EJB calls and only allow one call. Is there a way to instance only one Object and not blocking? Like SingleTon bean. I am chasing a problem where too many EJB stateless bean are created. When I configure only one EJB call at a time which make system suffer for throughput.
I want to create only one instance but the call shouldn't be blocked. Multiple threads should be able to access the ejb stateless pool. Let me know what are my options. -
5. Re: Stateless Session Bean pool MaximumSize with strictMaxim
aravindsk Nov 23, 2010 12:32 AM (in response to sandeepk)i am not sure this is the right place for my question.
i am currently using 6.0 CR1 and implementing coding using ejb3.1
@Startup@Singleton@Startup
@Singleton
public class StartupBean {
String item = "";
@Resource
TimerService timerService;
@EJB
SLSBean sBean;
@PostConstruct
public void init() {
timerService.createTimer(1 * 60 * 1000, 1*60* 1000, item);
}
@Timeout
public void process(javax.ejb.Timer timer) {
try {
sBean.process(timer);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Stateless
public class SLSBean {
@Inject
private Logger logger;
@Asynchronous
public void process(javax.ejb.Timer timer) {}
}
my question is when it is always shows only one instace of SLSBean is created when i expected multiple slsb's
config:
Available Count 1
Create Count 1
Current Count 1
Max Size 1 The maximum number of instances that are allowed to be pooled
ejb3-interceptors-aop.xml shows max size of 30.
<annotation expr="class(*) AND !class(@org.jboss.ejb3.annotation.Pool)">
@org.jboss.ejb3.annotation.Pool (value="ThreadlocalPool", maxSize=30, timeout=10000)
</annotation>what is that i need to change so that multiple slsbs created and pooled.
-
6. Re: Stateless Session Bean pool MaximumSize with strictMaxim
jaikiran Nov 23, 2010 12:37 AM (in response to aravindsk)Aravind, please continue this discussion in your other thread here http://community.jboss.org/message/572349#572349