[arquillian-issues] [JBoss JIRA] (ARQ-725) Improve the performance of the WebLogicContainer implementation

Vineet Reynolds (JIRA) jira-events at lists.jboss.org
Thu Jan 19 22:32:18 EST 2012


     [ https://issues.jboss.org/browse/ARQ-725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vineet Reynolds updated ARQ-725:
--------------------------------

              Status: Pull Request Sent  (was: Open)
    Git Pull Request: https://github.com/arquillian/arquillian-container-wls/pull/5


Improved the performance of the WLS container integration. Observable improvement was around 40%.
                
> Improve the performance of the WebLogicContainer implementation
> ---------------------------------------------------------------
>
>                 Key: ARQ-725
>                 URL: https://issues.jboss.org/browse/ARQ-725
>             Project: Arquillian
>          Issue Type: Enhancement
>      Security Level: Public(Everyone can see) 
>          Components: WebLogic Containers
>            Reporter: Vineet Reynolds
>            Assignee: Vineet Reynolds
>              Labels: performance
>
> The {{WebLogicJMXLibClassLoader}} uses the {{wljmxclient.jar}} file as a codesource. This JAR contains a definition for the {{weblogic.jndi.WLInitialContextFactory}} class, that also initializes a {{SecurityManager}} implementation. This {{SecurityManager}} is used to verify access to classpath resources when loading classes and also when loading files to prepared a ShrinkWrap archive, leading to slower archive generation times, and hence slower tests. While the [Oracle documentation on accessing WLS MBeans|http://docs.oracle.com/cd/E21764_01/web.1111/e13728/accesswls.htm] does emphasize using wljmxclient.jar to access the MBean Server, using {{weblogic.jar}} or {{wlfullclient.jar}} instead would lead to faster tests as the definitions for {{weblogic.jndi.WLInitialContextFactory}} within these do not initialize a {{SecurityManager}}.
> Also, the {{WebLogicContainer}} class does not store any state across archive deployments and undeployments. New instances of the {{WebLogicJMXClient}} class are created on every deployment and undeployment of archives. Internally, a new classloader instance is also created for every deployment and undeployment. This tends to increase the time elapsed for a deployment, before it is made available for execution of Arquillian tests. A refactoring is therefore proposed wherein the {{WebLogicContainer}} class would create only one instance of the {{WebLogicJMXClient}} class, and reuse it throughout the lifecycle of the container.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the arquillian-issues mailing list