will commit and recheck on other server

On Fri, Feb 15, 2013 at 9:20 AM, Maxim Solodovnik <solomax...@gmail.com>wrote:

> >> Its indeed a little bit tricky cause the Axis2 deployed services do
> not allow a method like:
> public <T> T
>
> what is the error?
> I just refactor this method to be
>
> // package access
>  <T> T getBean(Class<? extends T> clazz) throws AxisFault {
> return beanUtil.getBean(clazz, getServletContext());
>  }
>
> and have no issues :(
> can I commit that? or it will broke something?
>
>
>
> On Fri, Feb 15, 2013 at 8:51 AM, seba.wag...@gmail.com <
> seba.wag...@gmail.com> wrote:
>
>> I have committed another version.
>> Please review.
>> Its indeed a little bit tricky cause the Axis2 deployed services do not
>> allow a method like:
>> public <T> T
>>
>> cause it will try to build a webservice for all public methods in that
>> class, and it cannot make a return type for <T> / Templates.
>>
>> So I have added this BeanUtil as class reference.
>> The other servlets have a Base servlet now, to inject their specific
>> ServletContext.
>>
>> It is arguable if there is really a need for a Base-class for those cases.
>> However this is now just the way I did it, feel free to re-structure.
>>
>> However at least the check:
>> if (ScopeApplicationAdapter.initComplete)
>> is only done in one place in the code.
>>
>> Sebasitan
>>
>>
>> 2013/2/15 Maxim Solodovnik <solomax...@gmail.com>
>>
>>> Sure, this is why I have asked who is going to do the refactoring :)
>>>
>>>
>>> On Fri, Feb 15, 2013 at 8:34 AM, seba.wag...@gmail.com <
>>> seba.wag...@gmail.com> wrote:
>>>
>>>> Sorry but I will overwrite that.
>>>> You've just fixed one Bean getter method. There are around 25 accross
>>>> our code base in several Axis-WebServices, HttpServlets and
>>>> VelocityViewServlets
>>>>
>>>> Please give me some minutes, I will ping you again.
>>>>
>>>> Sebastian
>>>>
>>>>
>>>>
>>>> 2013/2/15 Maxim Solodovnik <solomax...@gmail.com>
>>>>
>>>>> Fixed, please see
>>>>>
>>>>> Committed revision 1446418.
>>>>>
>>>>>
>>>>> On Fri, Feb 15, 2013 at 8:09 AM, Maxim Solodovnik <
>>>>> solomax...@gmail.com> wrote:
>>>>>
>>>>>> The issue is very tricky
>>>>>> Currently the code works as expected:
>>>>>>
>>>>>> if (!ScopeApplicationAdapter.initComplete) {
>>>>>>  throw new Exception("Server not yet initialized, retry in couple of
>>>>>> seconds");
>>>>>> }
>>>>>>
>>>>>> but then ....
>>>>>> it is surprisingly being try/catched and "null" is returned ...
>>>>>>
>>>>>> I'm currently fixing the code
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Feb 15, 2013 at 8:01 AM, seba.wag...@gmail.com <
>>>>>> seba.wag...@gmail.com> wrote:
>>>>>>
>>>>>>> I already started, I just need to refactor it to use a Util class
>>>>>>> now.
>>>>>>>
>>>>>>> Sebastian
>>>>>>>
>>>>>>>
>>>>>>> 2013/2/15 Maxim Solodovnik <solomax...@gmail.com>
>>>>>>>
>>>>>>>> OK
>>>>>>>> Are you going to refactor getting beans? Or should I handle it?
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Feb 15, 2013 at 7:57 AM, seba.wag...@gmail.com <
>>>>>>>> seba.wag...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> yes,
>>>>>>>>>
>>>>>>>>> just hit F5 constantly, for example load this URL
>>>>>>>>> http://localhost:5080/openmeetings/services/UserService/getSession
>>>>>>>>>
>>>>>>>>> And don't wait for the timeout in the browser, just hit f5
>>>>>>>>> constantly while the server boots... and you will see that exception.
>>>>>>>>>
>>>>>>>>> Sebastian
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2013/2/15 Maxim Solodovnik <solomax...@gmail.com>
>>>>>>>>>
>>>>>>>>>> Do you have any steps for this (maybe unstable)?
>>>>>>>>>>
>>>>>>>>>> My stacktrace is starting with
>>>>>>>>>> java.lang.Exception: Server not yet initialized, retry in couple
>>>>>>>>>> of seconds
>>>>>>>>>>
>>>>>>>>>> Which is expected ...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Fri, Feb 15, 2013 at 7:17 AM, seba.wag...@gmail.com <
>>>>>>>>>> seba.wag...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Maxim,
>>>>>>>>>>>
>>>>>>>>>>> I've seen you've added some code in the ScopeApplicationAdapter
>>>>>>>>>>> when the server is inited lately.
>>>>>>>>>>>
>>>>>>>>>>> In the servlets we check for that variable
>>>>>>>>>>> (ScopeApplicationAdapter.initComplete), in order to make sure the 
>>>>>>>>>>> server is
>>>>>>>>>>> up before we request the bean.
>>>>>>>>>>>
>>>>>>>>>>> The issue is that you can still provoke a NullPointerException,
>>>>>>>>>>> cause the option in the ScopeApplicationAdapter is reached before 
>>>>>>>>>>> the
>>>>>>>>>>> ApplicationContext is available.
>>>>>>>>>>>
>>>>>>>>>>> In the past it was possible to make the server stuck in the
>>>>>>>>>>> boot, it never really booted when you hit F5 at the right time a 
>>>>>>>>>>> number of
>>>>>>>>>>> times.
>>>>>>>>>>> I think it is still possible to do that if you penetrate the
>>>>>>>>>>> server hard enough as the "initComplete" is true too early.
>>>>>>>>>>>
>>>>>>>>>>> Do you have an idea where else in the code we could set the flag
>>>>>>>>>>> "ScopeApplicationAdapter.initComplete" ? Somewhere later... but I 
>>>>>>>>>>> have no
>>>>>>>>>>> idea currently where.
>>>>>>>>>>>
>>>>>>>>>>> You will an exception like this:
>>>>>>>>>>> [ERROR] [http-bio-0.0.0.0-5080-exec-18]
>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCMessageReceiver - Exception 
>>>>>>>>>>> occurred
>>>>>>>>>>> while trying to invoke service method getSession
>>>>>>>>>>> java.lang.reflect.InvocationTargetException: null
>>>>>>>>>>>     at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown
>>>>>>>>>>> Source) ~[na:na]
>>>>>>>>>>>     at
>>>>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>> ~[na:1.6.0_37]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:256)
>>>>>>>>>>> ~[axis2-jar-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
>>>>>>>>>>> ~[axis2-jar-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
>>>>>>>>>>> [axis2-jar-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:106)
>>>>>>>>>>> [axis2-jar-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169)
>>>>>>>>>>> [axis2-jar-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:242)
>>>>>>>>>>> [axis2-transport-http-bundle-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:184)
>>>>>>>>>>> [axis2-transport-http-bundle-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:870)
>>>>>>>>>>> [axis2-transport-http-bundle-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:290)
>>>>>>>>>>> [axis2-transport-http-bundle-1.7.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
>>>>>>>>>>> [red5.jar:na]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>>>>>>>>>>> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>>>     at
>>>>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>>>>> [na:1.6.0_37]
>>>>>>>>>>>     at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37]
>>>>>>>>>>> Caused by: java.lang.NullPointerException: null
>>>>>>>>>>>     at
>>>>>>>>>>> org.apache.openmeetings.axis.services.UserWebServiceFacade.getSession(UserWebServiceFacade.java:67)
>>>>>>>>>>> ~[openmeetings-WebService-2.1.0-SNAPSHOT.jar:na]
>>>>>>>>>>>     ... 32 common frames omitted
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Sebastian Wagner
>>>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>>>> http://www.webbase-design.de
>>>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>>>> seba.wag...@gmail.com
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> WBR
>>>>>>>>>> Maxim aka solomax
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Sebastian Wagner
>>>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>>>> http://www.webbase-design.de
>>>>>>>>> http://www.wagner-sebastian.com
>>>>>>>>> seba.wag...@gmail.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> WBR
>>>>>>>> Maxim aka solomax
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Sebastian Wagner
>>>>>>> https://twitter.com/#!/dead_lock
>>>>>>> http://www.webbase-design.de
>>>>>>> http://www.wagner-sebastian.com
>>>>>>> seba.wag...@gmail.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> WBR
>>>>>> Maxim aka solomax
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sebastian Wagner
>>>> https://twitter.com/#!/dead_lock
>>>> http://www.webbase-design.de
>>>> http://www.wagner-sebastian.com
>>>> seba.wag...@gmail.com
>>>>
>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> Sebastian Wagner
>> https://twitter.com/#!/dead_lock
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wag...@gmail.com
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
WBR
Maxim aka solomax

Reply via email to