Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "EclipseLink/DesignDocs/248748"

m (/bin/JConsole client)
m (API)
Line 182: Line 182:
  
  
*UML Class Diagram
+
==UML Class Diagram==
 
[[Image:Eclipselink_uml_design_jmx.jpg]]
 
[[Image:Eclipselink_uml_design_jmx.jpg]]
  

Revision as of 16:34, 9 October 2008

Design Specification: WebLogic 10.3 JMX MBean Support

Bug# 248748

JMX MBean Tutorial for WebLogic

JPA EAR WebLogic 10.3 J2EE application and J2SE table populator Eclipse project zip files

Document History

Date Author Version Description & Notes
2008-09-26 Michael O 0.1 Starting Draft for WebLogic 10.3 version of ER 248748

Project overview

We require specific attributes available outside of the generic MBeans in http://bugs.eclipse.org/235168 ER 235168]. This enhancement request has 2 possible phases - we are only working on phase 1 at this time - port OC4J functions to WebLogic.

  • 1) Add functions originally only available on the OC4J server platform
  • 2) Add functions new to WebLogic 10

Requirements

  • Add the following functions to a WebLogic version of our RuntimeServices Mbean - to be reviewed.
    • We want to cross-reference this new list with the exclusion list in the 1.0 implementation.
    • Some of the attributes prefixed with print have generic analogs using get already.
    • Some of the attributes contain an internal current keyword that is removed.
    • Some of these public functions may not make it to the public interface

Interface Addition Candidates

  • public String getsessionName() {
  • public String getsessionType() {
  • public Object[][] getClassSummaryDetailsUsingFilter(String filter){
  • public Object[][] getClassSummaryDetails() {
  • public Vector getMappedClassNamesUsingFilter(String filter) {
  • public String getmoduleName() {
  • public String getdeployedEclipseLinkLogLevel() {
  • public String getDeployedEclipseLogLevel(String category) {
  • public String getcurrentEclipseLogLevel() {
  • public String getcurrentEclipseLogLevel(String category) {
  • public synchronized void setcurrentEclipseLogLevel(String newLevel) {
  • public synchronized String getprofilingType() {
  • public synchronized void setprofilingType(String profileType) {
  • public void setuseEclipseProfiling() {
  • public void setuseDMSProfiling() {
  • public Boolean getusesEclipseProfiling() { - do not implement
  • public Boolean getusesDMSProfiling() {
  • public void setuseNoProfiling() {
  • public synchronized void setshouldLogPerformanceProfiler(Boolean

shouldLogPerformanceProfiler) {

  • public Boolean getshouldLogPerformanceProfiler() {
  • public Boolean getshouldBindAllParameters() {
  • public Integer getstringBindingSize() {
  • public Boolean getusesBatchWriting() {
  • public Long gettimeConnectionEstablished() {
  • public Boolean getusesJDBCBatchWriting() {
  • public Boolean getusesByteArrayBinding() {
  • public Boolean getusesNativeSQL() {
  • public Boolean getusesStreamsForBinding() {
  • public Boolean getshouldCacheAllStatements() {
  • public Integer getstatementCacheSize() {
  • public synchronized void clearStatementCache() {
  • public Integer getsequencePreallocationSize() {
  • public void printAvailableConnectionPools() {
  • public Integer getMaxSizeForPool(String poolName) {
  • public Integer getMinSizeForPool(String poolName) {
  • public void printClassesInSession() {
  • public void printObjectsInIdentityMap(String className) throws ClassNotFoundException {
  • public void printAllIdentityMapTypes() {
  • public void printObjectsInIdentityMaps() {
  • public Integer getnumberOfObjectsInAllIdentityMaps() {
  • public Integer getnumberOfPersistentClasses() {
  • public void printIdentityMapLocks() {
  • public void printIdentityMapLocks(String registeredClassName) {
  • public void printProfileSummary() {
  • public void printProfileSummaryByClass() {
  • public void printProfileSummaryByQuery() {
  • public String getlogType() {
  • public String getdatabasePlatform() {
  • public synchronized String getconnectionPoolType() {
  • public synchronized String getdriver() {
  • public String getlogFilename() {
  • public synchronized String getdeployedProfileWeight() {
  • public synchronized String getcurrentProfileWeight() {
  • public synchronized void setcurrentProfileWeight(String weight) {
  • public synchronized void initializeAllIdentityMaps() {
  • public synchronized void initializeIdentityMaps(String[] classNames) throws

ClassNotFoundException {

  • public synchronized void initializeIdentityMap(String className) throws

ClassNotFoundException {

  • public synchronized void invalidateAllIdentityMaps() {
  • public synchronized void invalidateIdentityMaps(String[] classNamesParam, Boolean

recurse) throws ClassNotFoundException {

  • public synchronized void invalidateIdentityMap(String className) throws

ClassNotFoundException {

  • public synchronized void invalidateIdentityMap(String className, Boolean recurse) throws

ClassNotFoundException {

  • public Boolean getcacheSynchEnabled() {
  • public Boolean getcacheSynchAsynchronous() {


</pre>

API

No new jar dependencies.

The JMX API is included in J2SE 1.5 (new to J2SE 1.5 from J2EE 1.4) - the interfaces from this JMX API is used even though the implementation uses weblogic specific weblogic.management API during runtime.

There is a JMX server now in the 1.5 SE JRE

J2SE 1.5 JMX

JMX used to be in J2EE 1.4

J2EE 1.4 JMX


UML Class Diagram

Eclipselink uml design jmx.jpg

GUI

<JAVA_HOME>/bin/JConsole client

You should see the following single EclipseLink MBean off the root of the JNDI tree. In this example there is one EAR deployed to WebLogic - with its own set of MBeans based on the login session.

Runtime weblogic specific mbean screen cap.JPG

Runtime weblogic specific mbean screen cap 2b inherited.JPG

Back to the top