Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EclipseLink/Examples/JMX/MBeans WebLogic
Contents
EclipseLink JMX MBean support in WebLogic
The API discussed here has been checked in as part of enhancements [235168] [248748]
EclipseLink supports JMX MBean access to runtime and development attributes/functions against JPA container managed applications running on WebLogic server.
Public API - For Designers
Note: some of the attribute functionality in the JMX MBean API for WebLogic 10.3 - specifically moduleName and applicationName are only available in build 20081015 and later of WebLogic 10.3.3.1.
The following JMX MBean public API is exposed by the EclipseLink runtime services MBean and is available to any JMX compliant client.
From your MBeanServer on WebLogic 10.3.3.1 get an implementation of org.eclipse.persistence.services.weblogic.MBeanWebLogicRuntimeServices which extends WebLogicRuntimeServices and implements the interface MBeanWebLogicRuntimeServicesMBean in the same package.
Tutorial Source
See the 4 SVN projects that will populate your database and run a JEE JPA application on WebLogic 10.3 so that an EclipseLink JPA session is exposed for JMX MBean access.
http://wiki.eclipse.org/EclipseLink/Examples/JPA/WebLogic_Web_Tutorial#Tutorial_Source
or
JPA EAR WebLogic 10.3 J2EE application and J2SE table populator Eclipse project zip files
Prerequisites
Setting Breakpoints
The eclipselink.jar deployed in $WEBLOGIC_HOME/modules/org.eclipse.persistence_1.0.0.0_1-0.jar will need a source attachment. The fastest way is to set a breakpoint on org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.undeploy(), point to the src jar or your workspace projects and redeploy. Any breakpoints in the predeploy or prior to the first login will now be hit.
Enabling remote access on the WebLogic JVM
Add the following JVM option to your WebLogic startup script
WebLogic 10.3.0
C:\opt\wls103\user_projects\domains\base_domain\bin\startWebLogic.cmd set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.sun.management.jmxremote
WebLogic 10.3.3.1 Sept 2008
Around line 262
C:\opt\wls103\user_projects\domains\base_domain\bin\setDomainEnv.cmd set JAVA_OPTIONS=%JAVA_OPTIONS% -Dcom.sun.management.jmxremote
System properties to enable EclipseLink MBeans
MBean registration is enabled by adding one or both of the two mbean system properties If [eclipselink.register.dev.mbean] or [eclipselink.register.run.mbean] properties are missing then MBean registration will not proceed for that bean.
set JAVA_OPTIONS=%JAVA_OPTIONS% -Declipselink.register.dev.mbean=true rem set JAVA_OPTIONS=%JAVA_OPTIONS% -Declipselink.register.run.mbean=true
Configuring WebLogic Server Domain Security
- If you are running your MBeans unsecured or in a development environment - you will need to disable security to see them outside of WebLogic
- Select the [Anonymous Admin Lookup Enabled checkbox] on the admin console security tab and restart. (Or you will get the following security warning).
[EL Warning]: 2008.06.19 13:37:01.875--Thread(Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Failed to find MBean Server: javax.naming.NoPermissionException: User <anonymous> does not have permission on weblogic.management.home to perform lookup operation.
JMX MBeans via SE Client
See the SUN JMX Tutorial.
For Java6 only - A proxy can be used to invoke methods on the MBean via JMX.newMBeanProxy().
JMX MBeans via Enterprise Manager 11
- Your WebLogic server will need to be added to an Enterprise Manager Server as a new domain.
- To add your WebLogic server to an Oracle Enterprise Manager Console please do the following.
- - add your server to one of your hosted EM application servers on the following EM URLs
- - click "farm_em_doamin" target in list of "All Targets"
- - enter "weblogic/weblogic" as the default username/password,
- - click "Setup" to add your domain.
- - navigate to WebLogic Domain | base_domain | <server = AdminServer>
- - expand on "Application Defined MBeans" | org.eclipse.persistence or TopLink
- - expand Configuration | Development bean
- or
- - expand Reporting | Runtime bean
JMX MBeans via JConsole
The standard SUN JDK <JAVA_HOME>/bin/jconsole.exe application can be used to view the MBeans exposed by the WebLogic server JVM instance.
Start jconsole at the run|cmd prompt and select the running weblogic.Server local process.
You should see the following EclipseLink MBeans off the root of the JNDI tree. In this example there are 2 separate EARs deployed to WebLogic - each with its own set of MBeans based on the login session.
References
EclipseLink User Guide documentation on setting up JMX access
EclipseLink JMX configuration in Workbench
http://wiki.eclipse.org/Configuring_a_Session_%28ELUG%29#Configuring_the_Server_Platform