← Back to team overview

dhis2-devs team mailing list archive

Re: Include JRE in DHIS2 lite?

 

While this is a bit off topic, has anyone tried to run DHIS2 on another
implementation of Java... like JRockit or Harmony...If its been tried,
please provide experiences and versions.

---
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/23 Knut Staring <knutst@xxxxxxxxx>

> 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
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dhis2-devs
> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dhis2-devs
> More help   : https://help.launchpad.net/ListHelp
>
>

Follow ups

References