Ok, I've integrated a slightly different set of code. Basically, I
added a field to server called protocolProviderPackages. You just need
to put "weblogic.management.remote" into that field. I then key off
that in order to setup the environment correctly. I also cleaned up
getUrl to make sure that you can set your own url. This should give
you the flexibility you need without needing to add a jvmtype to the
Server object.
To build a new jar file, just type: 'ant jar-all'
Let me know.
jon
On Sun, Oct 30, 2011 at 6:15 AM, Eric VIALLE <er...@vialle.org> wrote:
> Hello Jon,
> I would use JMXTrans with a Weblogic cluster.
> The problem is that JMXTrans can't be connected to "those kind of JVMs"...
>
> I- How it works
> So based on this
> article http://download.oracle.com/docs/cd/E13222_01/wls/docs90/jmx/accessWLS.html, I
> added a new setting to Server configuration: jvmType (see attached patch)
> I-1- Java part
> The jvmType could have two values:
> - standard
> - weblogic
> if the value is standard, the jmx connection will be used as you made it
> If the value is weblogic, the jmxconnection will use a special
> environnement. (see getWeblogicEnvironment() )
> I-2- Classpath
> The following path should be added to the classpath:
> WL_HOME\lib\wljmxclient.jar
> II- Test
> I didn't test it fully, because i have two problems:
> - In SignalInterceptor, I can't
> import sun.misc.Signal, sun.misc.SignalHandler
> - I don't know how to build that project (I'm a maven guy basically)
>
>
> Feel free to contact for more info (gtalk: eric....@gmail.com)
> Regards,
> Eric Vialle
>
>
This one ?
### Eclipse Workspace Patch 1.0
#P jmxtrans
Index: jmxtrans.sh
===================================================================
--- jmxtrans.sh (revision 250)
+++ jmxtrans.sh (working copy)
@@ -27,7 +27,7 @@
JMX_PORT=${JMX_PORT:-"2101"}
LOG_LEVEL=${LOG_LEVEL:-"debug"}
JMXTRANS_OPTS="$JMXTRANS_OPTS -Djmxtrans.log.level=${LOG_LEVEL}"
-
+ADDITIONAL_CP=${ADDITIONAL_CP:""}
MONITOR_OPTS=${MONITOR_OPTS:-"-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=${JMX_PORT}"}
GC_OPTS=${GC_OPTS:-"-Xms${HEAP_SIZE}M -Xmx${HEAP_SIZE}M
-XX:+UseConcMarkSweepGC -XX:NewRatio=${NEW_RATIO}
-XX:NewSize=${NEW_SIZE}m -XX:MaxNewSize=${NEW_SIZE}m
-XX:MaxTenuringThreshold=16 -XX:GCTimeRatio=9
-XX:PermSize=${PERM_SIZE}m -XX:MaxPermSize=${MAX_PERM_SIZE}m
-XX:+UseTLAB -XX:CMSInitiatingOccupancyFraction=${IO_FRACTION}
-XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing
-XX:ParallelGCThreads=${CPU_CORES}
-Dsun.rmi.dgc.server.gcInterval=28800000
-Dsun.rmi.dgc.client.gcInterval=28800000"}
@@ -59,9 +59,9 @@
fi
if [ -z "$FILENAME" ]; then
- EXEC=${EXEC:-"-jar $JAR_FILE -e -j $JSON_DIR -s $SECONDS_BETWEEN_RUNS"}
+ EXEC=${EXEC:-"-jar $JAR_FILE:$ADDITIONAL_CP -e -j $JSON_DIR
-s $SECONDS_BETWEEN_RUNS"}
else
- EXEC=${EXEC:-"-jar $JAR_FILE -e -f $FILENAME -s $SECONDS_BETWEEN_RUNS"}
+ EXEC=${EXEC:-"-jar $JAR_FILE:$ADDITIONAL_CP -e -f $FILENAME
-s $SECONDS_BETWEEN_RUNS"}
fi
$JAVA -server $JAVA_OPTS $JMXTRANS_OPTS $GC_OPTS $MONITOR_OPTS $EXEC 2>&1 &
If everyone agree, I'll commit it and may prepare a new release including it.
Cheers
2011/11/4 Henri Gomez <henri...@gmail.com>:
Missplet on my ipone
2011/11/4 Jon Stevens <latc...@gmail.com>:
---
### Eclipse Workspace Patch 1.0
#P jmxtrans
Index: jmxtrans.sh
===================================================================
--- jmxtrans.sh (revision 250)
+++ jmxtrans.sh (working copy)
@@ -27,7 +27,7 @@
JMX_PORT=${JMX_PORT:-"2101"}
LOG_LEVEL=${LOG_LEVEL:-"debug"}
JMXTRANS_OPTS="$JMXTRANS_OPTS -Djmxtrans.log.level=${LOG_LEVEL}"
-
+ADDON_JARS=${ADDON_JARS:""}
MONITOR_OPTS=${MONITOR_OPTS:-"-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=${JMX_PORT}"}
GC_OPTS=${GC_OPTS:-"-Xms${HEAP_SIZE}M -Xmx${HEAP_SIZE}M
-XX:+UseConcMarkSweepGC -XX:NewRatio=${NEW_RATIO}
-XX:NewSize=${NEW_SIZE}m -XX:MaxNewSize=${NEW_SIZE}m
-XX:MaxTenuringThreshold=16 -XX:GCTimeRatio=9
-XX:PermSize=${PERM_SIZE}m -XX:MaxPermSize=${MAX_PERM_SIZE}m
-XX:+UseTLAB -XX:CMSInitiatingOccupancyFraction=${IO_FRACTION}
-XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing
-XX:ParallelGCThreads=${CPU_CORES}
-Dsun.rmi.dgc.server.gcInterval=28800000
-Dsun.rmi.dgc.client.gcInterval=28800000"}
@@ -59,9 +59,9 @@
fi
if [ -z "$FILENAME" ]; then
- EXEC=${EXEC:-"-jar $JAR_FILE -e -j $JSON_DIR -s $SECONDS_BETWEEN_RUNS"}
+ EXEC=${EXEC:-"-jar $JAR_FILE:$ADDON_JARS -e -j $JSON_DIR -s
$SECONDS_BETWEEN_RUNS"}
else
- EXEC=${EXEC:-"-jar $JAR_FILE -e -f $FILENAME -s $SECONDS_BETWEEN_RUNS"}
+ EXEC=${EXEC:-"-jar $JAR_FILE:$ADDON_JARS -e -f $FILENAME -s
Missplet on my ipone
Missplet on my ipone
We could :)
---
--- jmxtrans.sh (revision 250)
+++ jmxtrans.sh (working copy)
@@ -28,6 +28,13 @@
LOG_LEVEL=${LOG_LEVEL:-"debug"}
JMXTRANS_OPTS="$JMXTRANS_OPTS -Djmxtrans.log.level=${LOG_LEVEL}"
+if [ ! -z "$PREFIX_CP" ]; then
+ PREFIX_CP="$PREFIX_CP:"
+fi
+
+if [ ! -z "$POSTFIX_CP" ]; then
+ POSTFIX_CP=":$POSTFIX_CP"
+fi
MONITOR_OPTS=${MONITOR_OPTS:-"-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=${JMX_PORT}"}
GC_OPTS=${GC_OPTS:-"-Xms${HEAP_SIZE}M -Xmx${HEAP_SIZE}M
-XX:+UseConcMarkSweepGC -XX:NewRatio=${NEW_RATIO}
-XX:NewSize=${NEW_SIZE}m -XX:MaxNewSize=${NEW_SIZE}m
-XX:MaxTenuringThreshold=16 -XX:GCTimeRatio=9
-XX:PermSize=${PERM_SIZE}m -XX:MaxPermSize=${MAX_PERM_SIZE}m
-XX:+UseTLAB -XX:CMSInitiatingOccupancyFraction=${IO_FRACTION}
-XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing
-XX:ParallelGCThreads=${CPU_CORES}
-Dsun.rmi.dgc.server.gcInterval=28800000
-Dsun.rmi.dgc.client.gcInterval=28800000"}
@@ -59,9 +66,9 @@
fi
if [ -z "$FILENAME" ]; then
- EXEC=${EXEC:-"-jar $JAR_FILE -e -j $JSON_DIR -s $SECONDS_BETWEEN_RUNS"}
+ EXEC=${EXEC:-"-jar $PREFIX_CP$JAR_FILE$POSTFIX_CP -e -j
$JSON_DIR -s $SECONDS_BETWEEN_RUNS"}
else
- EXEC=${EXEC:-"-jar $JAR_FILE -e -f $FILENAME -s $SECONDS_BETWEEN_RUNS"}
+ EXEC=${EXEC:-"-jar $PREFIX_CP$JAR_FILE$POSTFIX_CP -e -f
$FILENAME -s $SECONDS_BETWEEN_RUNS"}
fi
$JAVA -server $JAVA_OPTS $JMXTRANS_OPTS $GC_OPTS $MONITOR_OPTS $EXEC 2>&1 &
---
BTW, even simpler, defining JAR_FILE in conf file shoud do the trick
isn't it ? :)
JAR_FILE="/mypath/mypre.jar:jmxtrans-all.jar:/mypath/mypost.jar"
And it should works with current release
other than that, fine.
jon
(/etc/sysconfig/jmxtrans or /etc/default/jmxtrans) :
JAR_FILE=/usr/share/jmxtrans/jmxtrans-all.jar
-->
JAR_FILE=/usr/share/jmxtrans/jmxtrans-all.jar:/apps/WebLogic/10.3.2/AppServer/server/lib/wljmxclient.jar
so it won't over complicated configuration with PRE/POST PREFIX :)
Missplet on my ipone
I didn't check for DEB, but for RPM, config file is created at the
first RPM install.
It won't be changed when upgrading RPM.
A simple note for admins/users is mandatory BTW, to explain what to do
in very special case like this weblogic one.