Questions Tagged With ivyhttps://answers.axonivy.com/tags/ivy/?type=rss&user=John%20Moserquestions tagged <span class="tag">ivy</span>enMon, 02 Mar 2020 08:19:48 -0500Engine Performance - Profiling 2https://answers.axonivy.com/questions/4435/engine-performance-profiling-2<p>Dear Ivy Team</p> <p>I've profiled our app with VisualVM and it turned out that bundle.getString consumes about 15% of the time :</p> <p><img alt="alt text" src="https://answers.axonivy.com/upfiles/Unbenannt_BLAmLnP.PNG"></p> <p>ResourceHandlerImpl.getLocalePrefixForLocateResource</p> <p>...</p> <pre><code> try { ResourceBundle bundle = ResourceBundle.getBundle(bundleName, locale, ClassUtils.getContextClassLoader()); if (bundle != null) { localePrefix = bundle.getString(ResourceHandler.LOCALE_PREFIX); } } </code></pre> <p>Any idea what is wrong here ?</p> <p>Best regards</p> <p>John</p>John MoserMon, 02 Mar 2020 08:19:48 -0500https://answers.axonivy.com/questions/4435/engine-performance-profiling-2ivyBrowser back button - any workarounds ?https://answers.axonivy.com/questions/4402/browser-back-button-any-workarounds<p>Dear Ivy Team</p> <p>It seems that Ivy can't handle by default the browser back button if the UI is related to a process. Your proposed solution is to suppress the back button. Imho this is not an acceptable solution especially if everything else reacts correctly to the back button.</p> <p>I would assume/expect that a Ivy process which is designed with multiple "back paths" should be able to support some kind of a "back button" behavior.</p> <p>Regards John Moser</p>John MoserTue, 18 Feb 2020 09:23:43 -0500https://answers.axonivy.com/questions/4402/browser-back-button-any-workaroundsivyEngine Performance - Profilinghttps://answers.axonivy.com/questions/4379/engine-performance-profiling<p>Dear Ivy Team</p> <p>My test setup is as follows : 4 CPU (i7, 3GHz), Xms128m, Xmx2048m</p> <p>2 Browsers, every 3 seconds a click on the UI during 60 seconds</p> <p>1 With visualvm it shows that Ivy spent approx 16s with reading, the issue is I can not quantify how much data it is (since your performance / rest client logging is not working). But my guess is, it can only be a few hundred KB in total.</p> <p>=&gt; 16s seem to me a lot, can you confirm my results ?</p> <p><img alt="alt text" src="https://answers.axonivy.com/upfiles/Unbenannt.PNG"></p> <p>2 Rest Client - java &gt; Ivy.rest() : is Ivy.rest() client pooled ? (since the Rest Clients are pretty heavy weight they should be pooled otherwise memory consumption skyrockets and also performance will degrade if they are used like in a micro services architecture)</p> <p>=&gt; Ivy.rest() did you do any performance analysis ? Is this the "required" way of using Rest Client in Ivy ?</p>John MoserFri, 07 Feb 2020 04:14:06 -0500https://answers.axonivy.com/questions/4379/engine-performance-profilingivyrestIvyLog4jLayout - parametershttps://answers.axonivy.com/questions/4358/ivylog4jlayout-parameters<p>Dear Ivy Team</p> <p>For REST logs (rest_client category), I would like to log the elapsed time as well as the amount of data transferred. Any tips how to configure IvyLog4jLayout ?</p> <p>Best regards John</p>John MoserMon, 03 Feb 2020 11:32:00 -0500https://answers.axonivy.com/questions/4358/ivylog4jlayout-parametersloggingivyPerformance Logginghttps://answers.axonivy.com/questions/4351/performance-logging<p>Dear Ivy Team</p> <p>It looks like the Performance Logging can only be run in DEBUG level. Unfortunately in DEBUG level the logging crashes almost the Ivy Engine. </p> <p>Is there a way to simply log the requests (such as the access_log in the original tomcat) ?</p> <p>Regards John</p>John MoserFri, 31 Jan 2020 12:56:41 -0500https://answers.axonivy.com/questions/4351/performance-loggingloggingivyResources (css, js, images) in Ivy - performance impact ?https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact<p>Dear Ivy Team</p> <p>Usually the static web content such as css, js, images etc are offloaded and put in a web proxy in order to reduce the data load for the app server. Of course these files must be cached on the browser side. But still they must expire on a daily basis (since hotfixes can come in on a daily basis).</p> <p>Any ideas ?</p> <p>Regards John</p>John MoserTue, 28 Jan 2020 04:16:07 -0500https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impactivyJava Mission Controller, Flight Recorder - Access deniedhttps://answers.axonivy.com/questions/4325/java-mission-controller-flight-recorder-access-denied<p>Dear Ivy Team</p> <p>Doing some performance analysis since our app is using a lot of CPU. I've activated</p> <p>JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9003 -Dcom.sun.management.jmxremote.login.config=jmx -Djava.security.auth.login.config=configuration/jaas.config -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.autodiscovery=true"</p> <p>JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=&lt;ip&gt;"</p> <p>When I connect with Java Mission Controller to Ivy 7 I get the following results :</p> <ul> <li>Start JMX Console : works</li> <li>Start Flight Recorder : Access denied! Invalid access level for requested MBeanServer operation.</li> </ul> <p>java.lang.RuntimeException: Access denied! Invalid access level for requested MBeanServer operation. at com.jrockit.mc.flightrecorder.controlpanel.ui.FlightRecorderProvider.refresh(FlightRecorderProvider.java:110) at com.jrockit.mc.browser.views.JVMBrowserView$1.run(JVMBrowserView.java:100) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at Caused by: java.lang.SecurityException: Access property for this identity should be similar to: readwrite create com.sun.management.MissionControl at ....</p> <p>According to <a href="https://community.oracle.com/thread/2588377">https://community.oracle.com/thread/2588377</a> :</p> <p>You need to ensure that the user you want to access the flight recorder has permission to create the relevant MBeans. You have probably defined the roles in the jmxremote.access file. Try adding:</p> <p>&lt;your-role-name-goes-here&gt; readwrite \ create com.sun.management.<em>,com.oracle.jrockit.</em> \ unregister</p> <p>=&gt; where can I change this for Ivy ?</p> <p>Thanks &amp; Regards John</p>John MoserFri, 24 Jan 2020 07:20:21 -0500https://answers.axonivy.com/questions/4325/java-mission-controller-flight-recorder-access-deniedivy7.3.1 deployment - is a zip file still suportedhttps://answers.axonivy.com/questions/4104/7-3-1-deployment-is-a-zip-file-still-suported<p>Dear Ivy Team</p> <p>Pre-7.3.1 we deployed a xyz.zip containing the IARs to the deploy folder.</p> <p>What is the preferred way with 7.3.1 ?</p> <p>Best regards John Moser</p>John MoserWed, 16 Oct 2019 04:51:02 -0400https://answers.axonivy.com/questions/4104/7-3-1-deployment-is-a-zip-file-still-suportedivydeploymentCross site scripting - XSShttps://answers.axonivy.com/questions/4054/cross-site-scripting-xss<p>Dear Ivy team</p> <p>Just recently we had a security audit which reported that our app is vulnerable to XSS attacks. The issue is that the Primeface input fields (whatever control) seem not to be escaped. By default it should be escape="true" but it seems it's escape="false" which would be really bad (for all Ivy based applications).</p> <p>Any idea why this is the case ? May be an outdated jsf lib ?</p> <p>Best regards John</p>John MoserThu, 03 Oct 2019 08:33:45 -0400https://answers.axonivy.com/questions/4054/cross-site-scripting-xssivyDefine path of the Ivy license filehttps://answers.axonivy.com/questions/4052/define-path-of-the-ivy-license-file<p>Dear Ivy Team</p> <p>Is it possible to define the path of the Ivy license file ?</p> <p>If yes, where has this to be configured.</p> <p>Best regards John</p>John MoserThu, 03 Oct 2019 08:21:52 -0400https://answers.axonivy.com/questions/4052/define-path-of-the-ivy-license-fileivylicenseIvy 7.2.1 -> 7.3.1 Migrationhttps://answers.axonivy.com/questions/4017/ivy-7-2-1-7-3-1-migration<p>Hi Ivy Team</p> <p>After migrating sys db and running the application we get the following error :</p> <pre><code> Caused by: ch.ivyteam.ivy.persistence.PersistencyException: Unknown system property 'Database.Id' at ch.ivyteam.ivy.application.internal.ApplicationConfigurationManager.lambda$32(ApplicationConfigurationManager.java:1351) at java.util.Optional.orElseThrow(Optional.java:290) at ch.ivyteam.ivy.application.internal.ApplicationConfigurationManager.getSystemProp(ApplicationConfigurationManager.java:1351) at ch.ivyteam.ivy.application.internal.ApplicationConfigurationManager.getSystemProperty(ApplicationConfigurationManager.java:1336) at ch.xpertline.xent.oauth.ivy.IvySecure.getIvySalt(IvySecure.java:17) </code></pre> <p>Any idea what is missing ?</p> <p>Best regards John</p>John MoserWed, 25 Sep 2019 07:31:38 -0400https://answers.axonivy.com/questions/4017/ivy-7-2-1-7-3-1-migrationivymigrationDocker, set permissions by yaml filehttps://answers.axonivy.com/questions/4001/docker-set-permissions-by-yaml-file<p>Hi Ivy Team</p> <p>Is it possible to configure the permissions also by a yaml file ?</p> <p>Regards John</p>John MoserThu, 19 Sep 2019 11:10:44 -0400https://answers.axonivy.com/questions/4001/docker-set-permissions-by-yaml-filedockerivyDocker, pass Ivy license as env prophttps://answers.axonivy.com/questions/3999/docker-pass-ivy-license-as-env-prop<p>Dear Ivy team</p> <p>Is it possible to pass the Ivy license via env prop ? </p> <p>Reason for my question : as you might know we in KLARA want to build our own image. If the license has to be provided as a file in a certain directory then our image, which is hosted somewhere in the cloud, contains the license. May be not so nice from your point of view.</p> <p>The idea is that we store the license as a secret and inject it at startup of the image.</p> <p>Regards John</p>John MoserThu, 19 Sep 2019 04:51:42 -0400https://answers.axonivy.com/questions/3999/docker-pass-ivy-license-as-env-propdockerivylicenseIvy 7.3.1, Cockpit, some functionalities missinghttps://answers.axonivy.com/questions/3991/ivy-7-3-1-cockpit-some-functionalities-missing<p>Hi Ivy team</p> <p>Finally made to 7.3.1 and I am trying to configure the app as I have done with the old ULC admin client.</p> <p>It looks to me that there are quite a few configuration items missing, which existed in the old admin client.</p> <p>Any forecasts when they will be available in the Cockpit ?</p> <p>Regards John</p>John MoserTue, 17 Sep 2019 12:40:13 -0400https://answers.axonivy.com/questions/3991/ivy-7-3-1-cockpit-some-functionalities-missingcockpitivyDocker, Migration 7.2.1 to 7.3.1https://answers.axonivy.com/questions/3952/docker-migration-7-2-1-to-7-3-1<p>Hi Ivy Team</p> <p>I am getting following error message during Ivy startup after I migrated to the 7.3.1 image :</p> <p>java.lang.Exception: The system database (jdbc:<a>postgresql://10.172.0.9:5432/ivysystemdb_7)</a> with all tables already exists (Version: 50). But was created with a older version of the ivy Engine. at ch.ivyteam.ivy.server.configuration.command.CreateDbCommand.checkIfCreationNeeded(CreateDbCommand.java:114) at ch.ivyteam.ivy.server.configuration.command.CreateDbCommand.createSystemDatabase(CreateDbCommand.java:63) at ...</p> <p>What has to be done to fix this problem.</p> <p>Thanks &amp; Regards John</p>John MoserThu, 29 Aug 2019 10:33:45 -0400https://answers.axonivy.com/questions/3952/docker-migration-7-2-1-to-7-3-1enginedockerivyDocker, dropins, AuthenticationValvehttps://answers.axonivy.com/questions/3831/docker-dropins-authenticationvalve<p>Hi Ivy Team</p> <p>I am building a Docker image based on axonivy/axonivy-engine:7.2.1. In our project we have a few JARs which should go into the dropins folder but during Ivy startup I get the following error :</p> <pre><code>14:13:05.368 ERROR [org.apache.tomcat.util.digester.Digester] [localhost-startStop-1] Begin event threw exception java.lang.ClassNotFoundException: com.axonivy.auth.valve.AuthenticationValve cannot be found by ch.ivyteam.tomcat_8.5.34.201810151000 ... 4:13:05.380 ERROR [...apache.catalina.startup.ContextConfig] [localhost-startStop-1] Parse error in context.xml for [/ivy] org.xml.sax.SAXParseException; systemId: file:/usr/lib/axonivy-engine-7x/webapps/ivy/META-INF/context.xml; lineNumber: 13; columnNumber: 66; Error at (13, 66) : com.axonivy.auth.valve.AuthenticationValve cannot be found by ch.ivyteam.tomcat_8.5.34.201810151000 </code></pre> <p>So far I did the following:</p> <p>1) Dockerfile:</p> <pre><code>COPY --chown=ivy:ivy axonivy7-engine-folder-setup/dropins/* /usr/lib/axonivy-engine-7x/dropins/ </code></pre> <p>2) Check if files exist after Ivy startup:</p> <pre><code>ivy@22ae6389e9e5:/usr/lib/axonivy-engine-7x/dropins$ ls -ltr total 956 -rwxr-xr-x 1 ivy ivy 2028 Mar 8 2018 README.html -rwxr-xr-x 1 ivy ivy 962431 Jul 19 2018 com.axonivy.auth.valve.AuthenticationValve_1.0.0.201807190929.jar -rwxr-xr-x 1 ivy ivy 1622 Aug 1 2018 workflow.klara_patchNoBusinessCaseQuery_1.0.0.201807311434.jar -rw-r--r-- 1 ivy ivy 8078 Nov 5 2018 webserver.rest.extension.patch_1.0.0.201805241153.jar </code></pre> <p>3) Check if JARs are listed using ss in console, but all the JARs in dropins are not listed:</p> <p>Axon.ivy Engine is running and ready to serve. [19778ms] Type 'shutdown' and confirm with ENTER to stop the running engine instance ss "Framework is launched."</p> <pre><code>id State Bundle 0 ACTIVE org.eclipse.osgi_3.13.0.v20180409-1500 Fragments=2, 1 1 RESOLVED ch.ivyteam.ivy.osgi.classpatcher_7.2.1.201811131504 Master=0 2 RESOLVED org.eclipse.osgi.compatibility.state_1.1.100.v20180331-1743 Master=0 3 ACTIVE org.eclipse.equinox.simpleconfigurator_1.3.0.v20180502-1828 </code></pre> <p>As far as I understood, one should copy the JARs into the dropins folder and it should work</p> <p>Thanks &amp; Regards John</p>John MoserFri, 31 May 2019 10:29:36 -0400https://answers.axonivy.com/questions/3831/docker-dropins-authenticationvalvedockerconfigurationivyDocker, Global Properties, Placeholder, app.yamlhttps://answers.axonivy.com/questions/3817/docker-global-properties-placeholder-app-yaml<p>Hi Ivy Team</p> <p>Assuming I have a global prop such as :</p> <p>myGlobalProp: <a href="http://myIP:1234/whatever">http://myIP:1234/whatever</a></p> <p>myIP is different for Dev, Test and Prod. Is there a way to "inject" myIP at startup of the Docker image ?</p> <p>Or generally:</p> <p>If I want to build an image which should be deployed in Dev, Test and Prod, is there a way to parameterize all the config files used for the Ivy Engine (yaml, xml, etc.) ?</p> <p>Thanks &amp; Regards John</p>John MoserMon, 20 May 2019 11:20:27 -0400https://answers.axonivy.com/questions/3817/docker-global-properties-placeholder-app-yamlenginedockerconfigurationivyDocker, prevent container being stopped after an exceptionhttps://answers.axonivy.com/questions/3802/docker-prevent-container-being-stopped-after-an-exception<p>Hi Ivy team</p> <p>Is there a switch or something to keep the container running even if there was a (fatal) exception at boot time of Ivy ?</p> <p>Currently it's slightly painful to debug ...</p> <p>Thanks &amp; Regards John Moser</p>John MoserWed, 15 May 2019 11:54:13 -0400https://answers.axonivy.com/questions/3802/docker-prevent-container-being-stopped-after-an-exceptiondockerivy