Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по Container Concurrency Management для Singleton / 8 сообщений из 8, страница 1 из 1
19.03.2014, 14:46
    #38590678
aby_2503
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
Вылез exception:
Код: java
1.
javax.ejb.IllegalLoopbackException: Illegal Reentrant Access : Attempt to make a loopback call on a Write Lock method 'public java.util.Map BlaBlaMethod()' while a Read lock is already held

. Не могу понять каким образом он вылез. Ведь контейнер должен мониторить подобные вызовы. Если я правильно понимаю, то при вызове lockType(Write) метода контейнер проверяет есть ли счетчик > 0 для любого метода в классе, если есть, тогда он просто ждет пока не освободятся счетчики.
...
Рейтинг: 0 / 0
19.03.2014, 14:54
    #38590690
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
...
Рейтинг: 0 / 0
19.03.2014, 14:55
    #38590693
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
Реализация и правда, странная. А почему у вас вызов в том же потоке?
https://java.net/projects/glassfish/sources/svn/content/tags/3.1-b43/ejb/ejb-container/src/main/java/com/sun/ejb/containers/CMCSingletonContainer.java?rev=56639
...
Рейтинг: 0 / 0
19.03.2014, 15:04
    #38590713
aby_2503
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
Blazkowicz, вызовы, я более чем уверен, должны происходить из разных потоков, так как один запускается по таймеру, а второй просто вызовом из метода stateless бина.
...
Рейтинг: 0 / 0
19.03.2014, 15:06
    #38590717
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
aby_2503Blazkowicz, вызовы, я более чем уверен, должны происходить из разных потоков, так как один запускается по таймеру, а второй просто вызовом из метода stateless бина.
stacktrace опубликуйте, если не сложно.
...
Рейтинг: 0 / 0
19.03.2014, 15:47
    #38590803
aby_2503
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
Blazkowicz,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
Mar 18, 2014 1:12:22 PM com.sun.ejb.containers.BaseContainer postInvoke
WARNING: EJB5184:A system exception occurred during an invocation on EJB OrganizationServiceCassandraBean, method: public java.util.List com.cdp.betting.core.service.organization.OrganizationServiceCassandraBean.getEventSettings(java.lang.Integer,java.lang.String,java.lang.String)
Mar 18, 2014 1:12:22 PM com.sun.ejb.containers.BaseContainer postInvoke
WARNING: 
javax.ejb.TransactionRolledbackLocalException: Exception thrown from bean
	at com.sun.ejb.containers.EJBContainerTransactionManager.checkExceptionClientTx(EJBContainerTransactionManager.java:662)
	at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:507)
	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4475)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2009)
	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1979)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at com.sun.proxy.$Proxy265.getEventSettings(Unknown Source)
	at com.cdp.betting.core.service.event.EventsServiceCassandraBean.retrieveEventSettings(EventsServiceCassandraBean.java:230)
	at com.cdp.betting.core.service.event.EventsServiceCassandraBean.retrieveEventSettings(EventsServiceCassandraBean.java:219)
	at com.cdp.betting.core.service.event.SystemEventsServiceCassandraBean.getEventsByProviderId(SystemEventsServiceCassandraBean.java:167)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at com.sun.proxy.$Proxy271.getEventsByProviderId(Unknown Source)
	at com.cdp.betting.core.event.SystemEventCleanController.processPush(SystemEventCleanController.java:57)
	at com.cdp.betting.core.event.SystemEventCleanController.doAction(SystemEventCleanController.java:53)
	at com.cdp.betting.core.event.SystemEventCleanController.doAction(SystemEventCleanController.java:31)
	at com.cdp.betting.core.context.Controller.onAction(Controller.java:21)
	at com.cdp.betting.core.context.ApplicationContext.fireEvent(ApplicationContext.java:243)
	at sun.reflect.GeneratedMethodAccessor222.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at com.sun.proxy.$Proxy277.fireEvent(Unknown Source)
	at com.cdp.betting.core.context.__EJB31_Generated__ApplicationContext__Intf____Bean__.fireEvent(Unknown Source)
	at com.cdp.betting.core.service.event.SystemEventsServiceCassandraBean.checkSystemEventsResults(SystemEventsServiceCassandraBean.java:459)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at com.sun.proxy.$Proxy271.checkSystemEventsResults(Unknown Source)
	at com.cdp.betting.core.service.daemon.CheckEventResultDaemon.process(CheckEventResultDaemon.java:48)
	at com.cdp.betting.core.service.daemon.CheckEventResultDaemon.timeout(CheckEventResultDaemon.java:44)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:55)
	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundTimeout(SystemInterceptorProxy.java:145)
	at sun.reflect.GeneratedMethodAccessor197.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
	at com.sun.ejb.containers.BaseContainer.callEJBTimeout(BaseContainer.java:3993)
	at com.sun.ejb.containers.EJBTimerService.deliverTimeout(EJBTimerService.java:1199)
	at com.sun.ejb.containers.EJBTimerService.access$000(EJBTimerService.java:89)
	at com.sun.ejb.containers.EJBTimerService$TaskExpiredWork.run(EJBTimerService.java:1919)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:744)
Caused by: javax.ejb.IllegalLoopbackException: Illegal Reentrant Access : Attempt to make a loopback call on a Write Lock method 'public java.util.Map com.cdp.betting.core.context.ApplicationContext.getEventSettings()' while a Read lock is already held
	at com.sun.ejb.containers.CMCSingletonContainer._getContext(CMCSingletonContainer.java:126)
	at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2516)
	at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1906)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:210)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at com.sun.proxy.$Proxy277.getEventSettings(Unknown Source)
	at com.cdp.betting.core.context.__EJB31_Generated__ApplicationContext__Intf____Bean__.getEventSettings(Unknown Source)
	at com.cdp.betting.core.service.organization.OrganizationServiceCassandraBean.getEventSettings(OrganizationServiceCassandraBean.java:464)
	at sun.reflect.GeneratedMethodAccessor195.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1081)
	at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1153)
	at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4695)
	at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at org.jboss.weld.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:46)
	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doCall(SystemInterceptorProxy.java:163)
	at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:140)
	at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)
	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)
	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)
	at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4667)
	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4655)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	... 139 more
...
Рейтинг: 0 / 0
19.03.2014, 16:52
    #38590950
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
После чистки мусора, имеем следующее:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
	at $Proxy265.getEventSettings(Unknown Source)
	at service.event.EventsServiceCassandraBean.retrieveEventSettings(EventsServiceCassandraBean.java:230)
	at service.event.EventsServiceCassandraBean.retrieveEventSettings(EventsServiceCassandraBean.java:219)
	at service.event.SystemEventsServiceCassandraBean.getEventsByProviderId(SystemEventsServiceCassandraBean.java:167)
	at $Proxy271.getEventsByProviderId(Unknown Source)
	at event.SystemEventCleanController.processPush(SystemEventCleanController.java:57)
	at event.SystemEventCleanController.doAction(SystemEventCleanController.java:53)
	at event.SystemEventCleanController.doAction(SystemEventCleanController.java:31)
	at context.Controller.onAction(Controller.java:21)
	at context.ApplicationContext.fireEvent(ApplicationContext.java:243)
	at $Proxy277.fireEvent(Unknown Source)
	at context.__EJB31_Generated__ApplicationContext__Intf____Bean__.fireEvent(Unknown Source)
	at SystemEventsServiceCassandraBean.checkSystemEventsResults(SystemEventsServiceCassandraBean.java:459)
	at $Proxy271.checkSystemEventsResults(Unknown Source)
	at daemon.CheckEventResultDaemon.process(CheckEventResultDaemon.java:48)
	at daemon.CheckEventResultDaemon.timeout(CheckEventResultDaemon.java:44)


Демон aka Таймер вызывает SystemEventsServiceCassandraBean.
Оттуда какими-то непонятными событиями вызывает SystemEventCleanController, что достаточно странно.
Который снова зовёт SystemEventsServiceCassandraBean, что уже попахивает.
Затем вызывается EventsServiceCassandraBean, а оттуда чей-то метод getEventSettings, который и падает.

Это почти 100% бага в GF, так как он обрагался разрулить лок в одном потоке, хотя Reentrant Access должен это позволять.
Вам стоит как-то перераспределить блокировки, чтобы внутри этой цепи вызовов Read/Write лок не ставился два раза.
Возможно сделать отдельные аналогичные методы с блокировкой для внешнего использования и без блокировки для внутреннего.

Либо взять какой-нибудь более адекватный JEE контейнер.
...
Рейтинг: 0 / 0
19.03.2014, 17:27
    #38591015
aby_2503
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по Container Concurrency Management для Singleton
Blazkowicz, Спасибо, за помощь
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по Container Concurrency Management для Singleton / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]