dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #01620
Re: Include JRE in DHIS2 lite?
Launch4j looks good. Even before getting into that, a quick way of improving
the experience (for users with sufficient bandwidth) could be to just
include JRE, add the new release (scheduled for next week?), and change the
.bat file.
Knut
On Sat, Aug 22, 2009 at 10:41 PM, Bob Jolliffe <bobjolliffe@xxxxxxxxx>wrote:
> Yes I suppose this gets back to Saptarshi's earlier suggestion of native
> executables (which could embed the jre). eg.
> http://launch4j.sourceforge.net/
>
> I think it's an excellent delivery mechanism. But that executable is
> getting pretty BIG. Lets give it a go.
>
> Cheers
> Bob
> |
> |
>
> 2009/8/22 Knut Staring <knutst@xxxxxxxxx>
>
> Since it looks like we should ensure that users have JRE6u14 (see below
>> discussion), I think it would make sense to include it in the DHIS2 lite
>> package, and not rely on whatever JRE the user has, even though the download
>> will of course not be as "lite".
>> Knut
>>
>> On Wed, Aug 19, 2009 at 5:41 PM, Hiatt, Tom <hiattt@xxxxxxx> wrote:
>>
>>> Thanks!
>>>
>>>
>>>
>>> Installing the newest version of Java seems to work although it still
>>> takes awhile for the data entry screen to show up. How many fields do you
>>> think is recommended for each custom form? Is there a way to make custom
>>> forms for dataset sections without breaking up the dataset?
>>>
>>>
>>>
>>> Thanks again for your help,
>>>
>>> Tom
>>>
>>>
>>> ------------------------------
>>>
>>> *From:* Knut Staring [mailto:knutst@xxxxxxxxx]
>>> *Sent:* 19 August 2009 17:12
>>> *To:* Saptarshi Purkayastha
>>> *Cc:* DHIS 2 developers; Hiatt, Tom
>>> *Subject:* Re: [Dhis2-devs] Error help
>>>
>>>
>>>
>>> Thanks, Saptarshi.
>>>
>>> So Tom, it seems to me that the Java that comes on our machines is 1.6
>>> update 11 (you can type "java -version" in a command prompt to verify this).
>>> So you could try installing the latest update, as Saptarshi suggest.
>>>
>>> And, you can also try adding "-XX:-UseGCOverheadLimit" to the JAVA_OPTS
>>> environment variable and restart the server.
>>>
>>> Knut
>>>
>>> On Wed, Aug 19, 2009 at 5:05 PM, Saptarshi Purkayastha <sunbiz@xxxxxxxxx>
>>> wrote:
>>>
>>> This error may not necessarily be solved through allocating more PermSize
>>> or Heap space
>>> You should disable the GC Overtime feature as mentioned here:
>>> http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom
>>>
>>> Or Ideally, the new G1 garbage collector which was made to run neatly on
>>> parallel processors should solve this issue. JDK6u14 or JRE6u14 has G1
>>> included... Please try if it solves the issue... try to reproduce it and if
>>> its solved then we can document it on the wiki and give Sun, a pat on its
>>> back!!
>>>
>>> ---
>>> Regards,
>>> Saptarshi PURKAYASTHA
>>> Director R & D, HISP India
>>> Health Information Systems Programme
>>>
>>> My Tech Blog: http://sunnytalkstech.blogspot.com
>>> You Live by CHOICE, Not by CHANCE
>>>
>>> 2009/8/19 Knut Staring <knutst@xxxxxxxxx>
>>>
>>> Hi Tom,
>>>
>>> You need to allocate more memory to Java, as indicated at the bottom of
>>> your message:
>>>
>>>
>>>
>>>
>>>
>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>
>>> I copy this to our developer list (which you should also subscribe to).
>>>
>>> You should create an environment variable with the name JAVA_OPTS. Right
>>> click on My Computer, select Properties, and then the Advanced tab. Then
>>> Environment Variables and New.
>>>
>>> The content of it could be like the following, or the figures could be
>>> even higher if you have a lot of RAM:
>>>
>>> -Xmx768m -Xms768m -XX:PermSize=128m -XX:MaxPermSize=768m
>>>
>>> Knut
>>>
>>> On Wed, Aug 19, 2009 at 4:37 PM, Hiatt, Tom <hiattt@xxxxxxx> wrote:
>>>
>>> Hi Knut,
>>>
>>>
>>>
>>> Could you help me with this error I got making a custom form in DHIS?
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Tom
>>>
>>>
>>> *HTTP Status 500 -*
>>> ------------------------------
>>>
>>> *type* Exception report
>>>
>>> *message*
>>>
>>> *description* *The server encountered an internal error () that
>>> prevented it from fulfilling this request.*
>>>
>>> *exception*
>>>
>>> javax.servlet.ServletException: java.lang.reflect.InvocationTargetException
>>>
>>> com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:284)
>>>
>>> com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
>>>
>>> org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
>>>
>>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>>>
>>> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>>>
>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>>>
>>> *root cause*
>>>
>>> java.lang.reflect.InvocationTargetException
>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>
>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:118)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkStyleInterceptor.intercept(WebWorkStyleInterceptor.java:89)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkSystemSettingInterceptor.intercept(WebWorkSystemSettingInterceptor.java:89)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkDataDictionaryModeInterceptor.intercept(WebWorkDataDictionaryModeInterceptor.java:109)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkDisplayPropertyInterceptor.intercept(WebWorkDisplayPropertyInterceptor.java:90)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkSortOrderInterceptor.intercept(WebWorkSortOrderInterceptor.java:124)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkI18nInterceptor.intercept(WebWorkI18nInterceptor.java:122)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.AbstractPreResultListener.intercept(AbstractPreResultListener.java:71)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
>>>
>>> com.opensymphony.xwork.ActionChainResult.execute(ActionChainResult.java:156)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:118)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkStyleInterceptor.intercept(WebWorkStyleInterceptor.java:89)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkSystemSettingInterceptor.intercept(WebWorkSystemSettingInterceptor.java:89)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkDataDictionaryModeInterceptor.intercept(WebWorkDataDictionaryModeInterceptor.java:109)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkDisplayPropertyInterceptor.intercept(WebWorkDisplayPropertyInterceptor.java:90)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkSortOrderInterceptor.intercept(WebWorkSortOrderInterceptor.java:124)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.WebWorkI18nInterceptor.intercept(WebWorkI18nInterceptor.java:122)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> org.hisp.dhis.webwork.interceptor.AbstractPreResultListener.intercept(AbstractPreResultListener.java:71)
>>>
>>> com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
>>>
>>> com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
>>>
>>> com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)
>>>
>>> com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
>>>
>>> org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
>>>
>>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
>>>
>>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
>>>
>>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>>>
>>> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>>>
>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>>>
>>> *root cause*
>>>
>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>
>>> *note* *The full stack trace of the root cause is available in the
>>> Apache Tomcat/6.0.14 logs.*
>>> ------------------------------
>>> *Apache Tomcat/6.0.14*
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Knut Staring
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>>
>>>
>>> --
>>> Cheers,
>>> Knut Staring
>>>
>>
>>
>>
>> --
>> Cheers,
>> Knut Staring
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>> Post to : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dhis2-devs<https://launchpad.net/%7Edhis2-devs>
>> More help : https://help.launchpad.net/ListHelp
>>
>>
>
--
Cheers,
Knut Staring
Follow ups
References