Are com.sun.management.jmxremote properties standard?
I searched quickly through the most recent specs for JSR-3 (JMX 1.x) and JSR-160 (JMX Remote API) as well as the J2SE 5.0 new features descriptions, but could not find any mention of the jmxremote flags that you set in order to enable the out-of-the-box management agent for local or remote access to the JVM via JMX, e.g.
com.sun.management.jmxremote
com.sun.management.jmxremote.port
com.sun.management.jmxremote.ssl
com.sun.management.jmxremote.authenticate
Some JMX documentation is needed for the application I'm working on, and I need to know if setting these flags will work on all JVMs supporting J2SE 5.0 or Java SE 6, or if it is only guaranteed to work with Sun's implementations (JVMs).
Some web searches indicate that the properties are in use with recent version of IBM JVMs and BEA's JRockit as well, but I'd like to have it confirmed to what extent these flags are standard (e.g. if they may be considered de facto standard properties). Is there an official document defining these properties and saying which settings they are valid in?
Thanks!
The properties are not part of any formal standard, but, as you have noticed, any JVM you are likely to use will support them. So they are de facto but not de jure standard.
If you are very concerned about standards, it is always possible to replace the use of these properties with code in your application that uses only standard APIs. See <http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#gdfvv>.
Regards,
�amonn McManus
Similar Messages
-
In Mustang/Tiger, i can specify -Dcom.sun.management.jmxremote to indicate that I want to be able to manage JVM exposed properties remotely.
If I am writing JMX code in an environment with JDK1.4 + JMX1.2.1, does the system property work in the same manner ?
Additionally, is there a place listing all the system properties that may modify of the behaviour of a JMX managed application ? Thanks to all.
Je soutiens Sarko.In JDK 1.4.x you will need JSR 3 + JSR 160. You will have to deploy your own RMI connector server. In order to achieve this you could mimick the out-of-the-box management agent in JDK 5. However, in JDK 1.4.x you will not see neither the PlatformMBeanServer nor the platform MBeans as these new features were introduced in JDK 5. You will be able to deploy your custom MBeans and still see them using JConsole.
Have a look at the examples in the JSR 160 bundle.
You can also have a look at the following link for more details on the out-of-the-box management agent:
http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#gdfvv
Regards,
Luis -
When using -Dcom.sun.management.jmxremote.port=0
In order to bind to the next available port how can you then programmatically find out which port the agent bound do so you know which port number to use in JConsole?
You can't. Instead of writing code within your application to discover this port, you should write code that creates and configures a connector itself. If you have already worked out the -Dcom.sun.management.jmxremote.* properties that you need, then you can translate them into code as described here. If you create your RMI registry with LocateRegistry.createRegistry(0) then you're left with a similar problem because there's no way to extract the port number from the returned Registry object. Instead, you can use the createRegistry form that takes an RMIClientSocketFactory and an RMIServerSocketFactory, and in the latter you can extract the port number after creating a socket in the createServerSocket method, and for example store it in a local variable.
Alternatively you could create a ServerSocket(0), look at its port number, close it, then create a registry on that port number, looping a few times if it fails (because someone else grabbed that port in between).
This is admittedly not as easy as it should be.
Regards,
Éamonn McManus -- JMX Spec Lead -- [http://weblogs.java.net/blog/emcmanus] -
JMX - -Dcom.sun.management.jmxremote
Hello,
what make i wrong?
When i start the Oracle Application Server 10.1.3.3.0 with cmd
-> java -Dcom.sun.management.jmxremote=true -jar oc4j.jar
i can connect via jconsole to this instance. Also i can connect via java:
JMXServiceURL serviceUrl = new JMXServiceURL("service:jmx:rmi://127.0.0.1:23791/");
All is perfect !!!
But when i start the oas over opmn -> opmctl startall i can´t connect via jconsole or via java-remote Client, although i set the parameter:
<ias-component id="default_group">
<process-type id="home" module-id="OC4J" status="enabled">
<module-data>
<category id="start-parameters">
<data id="java-options" value="-server -mx1024M -ms512M -Xrs -XX:MaxPermSize=128M -XX:AppendRatio=3 -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false -Dcom.sun.management.jmxremote "/>
</category>
<category id="stop-parameters">
<data id="java-options" value="-Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false"/>
</category>
</module-data>
<start timeout="600" retry="2"/>
<stop timeout="120"/>
<restart timeout="720" retry="2"/>
<port id="default-web-site" range="8888" protocol="ajp"/>
<port id="rmi" range="12401"/>
<port id="rmis" range="12701-12800"/>
<port id="jms" range="12601-12700"/>
<process-set id="default_group" numprocs="1"/>
</process-type>
</ias-component>
it doesn´t work. What is the problem ???
Thanks in advance for your help.
Best Regards,
RalfHello,
can nobody help me?
Best Regards,
Ralf -
When I create an EJB Transport Business Service, after selecting the jar that has the EJB 2.1 artefacts (Remote, Home, etc) the oepe plugin fails and can't continue.
As I understand it seems that there is a problem with the classpath of ant build.xml that oepe creates inside folder /tmp/alsbejbtransport/ to compile the bs and generate the wsdl. I checked if tools.jar is in the classpath (in eclipse) and is included, so I can't figure out wich is the problem.
I found this in Oracle, but not helps solve the problem:
BEA-398120
Error: The WSDL for the typed transport endpoint could not be accessed.
Description
There was a problem retrieving the WSDL from the typed transport service endpoint at the time of service registration
Action
Contact technical support
This is the the full stacktrace that shows eclipse.
Generate : Error during generation of the WSDL:
BUILD FAILED
java.lang.NoClassDefFoundError: com/sun/javadoc/Type
at com.bea.util.jam.provider.JamServiceFactoryImpl.createSourceBuilder(JamServiceFactoryImpl.java:205)
at com.bea.util.jam.provider.JamServiceFactoryImpl.createBuilder(JamServiceFactoryImpl.java:158)
at com.bea.util.jam.provider.JamServiceFactoryImpl.createClassLoader(JamServiceFactoryImpl.java:137)
at com.bea.util.jam.provider.JamServiceFactoryImpl.createService(JamServiceFactoryImpl.java:78)
at weblogic.wsee.util.JamUtil.parseSource(JamUtil.java:152)
at weblogic.wsee.tools.anttasks.JwsLoader.loadJClasses(JwsLoader.java:186)
at weblogic.wsee.tools.anttasks.JwsLoader.load(JwsLoader.java:75)
at weblogic.wsee.tools.anttasks.JwsModule.loadWebServices(JwsModule.java:569)
at weblogic.wsee.tools.anttasks.JwsModule.generate(JwsModule.java:369)
at weblogic.wsee.tools.anttasks.JwsModule.build(JwsModule.java:256)
at weblogic.wsee.tools.anttasks.JwscTask.execute(JwscTask.java:184)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: java.lang.ClassNotFoundException: com.sun.javadoc.Type
at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1400)
at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1341)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1088)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 27 more
Total time: 0 seconds
Eclipse Installation details:
*** System properties:
eclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=M20110909-1335
eclipse.commands=-os
linux
-ws
gtk
-arch
x86_64
-showsplash
-launcher
{home}/Development/oepe-indigo/eclipse
-name
Eclipse
--launcher.library
{home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505/eclipse_1407.so
-startup
{home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.overrideVmargs
-exitdata
1e418010
-vm
/usr/bin/java
eclipse.home.location=file:{home}/Development/oepe-indigo/
eclipse.launcher={home}/Development/oepe-indigo/eclipse
eclipse.launcher.name=Eclipse
[email protected]/../p2/
eclipse.p2.profile=PlatformProfile
eclipse.product=org.eclipse.platform.ide
eclipse.startTime=1374623921455
eclipse.vm=/usr/bin/java
eclipse.vmargs=-Xms256m
-Xmx768m
-XX:MaxPermSize=512m
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Dweblogic.home={home}/Oracle/Middleware/wlserver_10.3
-Dharvester.home={home}/Oracle/Middleware/Oracle_OSB1/harvester
-Dosb.home={home}/Oracle/Middleware/Oracle_OSB1
-Dosgi.bundlefile.limit=750
-Dosgi.nl=en_US
-Dmiddleware.home={home}/Oracle/Middleware
-jar
{home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
equinox.use.ds=true
file.encoding=UTF-8
file.encoding.pkg=sun.io
file.separator=/
guice.disable.misplaced.annotation.check=true
harvester.home={home}/Oracle/Middleware/Oracle_OSB1/harvester
http.nonProxyHosts=localhost
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path={home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
java.class.version=50.0
java.endorsed.dirs=/usr/lib/jvm/jdk1.6.0_45/jre/lib/endorsed
java.ext.dirs=/usr/lib/jvm/jdk1.6.0_45/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/lib/jvm/jdk1.6.0_45/jre
java.io.tmpdir=/tmp
java.library.path=/usr/lib/jvm/jdk1.6.0_45/jre/lib/amd64/server:/usr/lib/jvm/jdk1.6.0_45/jre/lib/amd64:/usr/lib/jvm/jdk1.6.0_45/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.protocol.handler.pkgs=null|com.bea.wli.sb.resources.url|com.bea.wli.sb.resources.jca.upgrade.url|weblogic.utils|weblogic.utils|weblogic.utils|weblogic.net|weblogic.net
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_45-b06
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.6.0_45
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=20.45-b01
javax.rmi.CORBA.PortableRemoteObjectClass=weblogic.iiop.PortableRemoteObjectDelegateImpl
javax.rmi.CORBA.UtilClass=weblogic.iiop.UtilDelegateImpl
jna.platform.library.path=/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/lib
line.separator=
middleware.home={home}/Oracle/Middleware
oracle.eclipse.tools.weblogic.ui.isWebLogicServer=true
org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog
org.eclipse.equinox.launcher.splash.location={home}/Development/oepe-indigo/plugins/org.eclipse.platform_3.7.1.v201109091335/splash.bmp
org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info
org.eclipse.m2e.log.dir={home}/workspace/pragma/.metadata/.plugins/org.eclipse.m2e.logback.configuration
org.eclipse.update.reconcile=false
org.omg.CORBA.ORBClass=weblogic.corba.orb.ORB
org.omg.CORBA.ORBSingletonClass=weblogic.corba.orb.ORB
org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6
org.osgi.framework.language=en
org.osgi.framework.os.name=Linux
org.osgi.framework.os.version=3.8.0
org.osgi.framework.processor=x86-64
org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6"
org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers
org.osgi.framework.uuid=901615cd-f3f3-0012-11b6-a3bca4d97ac1
org.osgi.framework.vendor=Eclipse
org.osgi.framework.version=1.6.0
org.osgi.supports.framework.extension=true
org.osgi.supports.framework.fragment=true
org.osgi.supports.framework.requirebundle=true
os.arch=amd64
os.name=Linux
os.version=3.8.0-26-generic
osb.home={home}/Oracle/Middleware/Oracle_OSB1
osgi.arch=x86_64
osgi.bundlefile.limit=750
osgi.bundles=reference:file:javax.transaction_1.1.1.v201105210645.jar,reference:file:org.eclipse.equinox.simpleconfigurator_1.0.200.v20110502-1955.jar@1:start
osgi.bundles.defaultStartLevel=4
osgi.bundlestore={home}/Development/oepe-indigo/configuration/org.eclipse.osgi/bundles
osgi.configuration.area=file:{home}/Development/oepe-indigo/configuration/
osgi.framework=file:{home}/Development/oepe-indigo/plugins/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar
osgi.framework.extensions=reference:file:javax.transaction_1.1.1.v201105210645.jar
osgi.framework.shape=jar
osgi.framework.version=3.7.1.R37x_v20110808-1106
osgi.frameworkClassPath=., file:{home}/Development/oepe-indigo/plugins/javax.transaction_1.1.1.v201105210645.jar
osgi.install.area=file:{home}/Development/oepe-indigo/
osgi.instance.area=file:{home}/workspace/pragma/
osgi.instance.area.default=file:{home}/workspace/
osgi.logfile={home}/workspace/pragma/.metadata/.log
osgi.manifest.cache={home}/Development/oepe-indigo/configuration/org.eclipse.osgi/manifests
osgi.nl=en_US
osgi.nl.user=en_US
osgi.os=linux
osgi.splashLocation={home}/Development/oepe-indigo/plugins/org.eclipse.platform_3.7.1.v201109091335/splash.bmp
osgi.splashPath=platform:/base/plugins/org.eclipse.platform
osgi.syspath={home}/Development/oepe-indigo/plugins
osgi.tracefile={home}/workspace/pragma/.metadata/trace.log
osgi.ws=gtk
path.separator=:
securerandom.source=file:/dev/./urandom
socksNonProxyHost=localhost
sun.arch.data.model=64
sun.boot.class.path=/usr/lib/jvm/jdk1.6.0_45/jre/lib/resources.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/rt.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/sunrsasign.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/jsse.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/jce.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/charsets.jar:/usr/lib/jvm/jdk1.6.0_45/jre/lib/modules/jdk.boot.jar:/usr/lib/jvm/jdk1.6.0_45/jre/classes
sun.boot.library.path=/usr/lib/jvm/jdk1.6.0_45/jre/lib/amd64
sun.cpu.endian=little
sun.cpu.isalist=
sun.desktop=gnome
sun.io.unicode.encoding=UnicodeLittle
sun.java.command={home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher {home}/Development/oepe-indigo/eclipse -name Eclipse --launcher.library {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505/eclipse_1407.so -startup {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.overrideVmargs -exitdata 1e418010 -vm /usr/bin/java -vmargs -Xms256m -Xmx768m -XX:MaxPermSize=512m -Dsun.lang.ClassLoader.allowArraySyntax=true -Dweblogic.home={home}/Oracle/Middleware/wlserver_10.3 -Dharvester.home={home}/Oracle/Middleware/Oracle_OSB1/harvester -Dosb.home={home}/Oracle/Middleware/Oracle_OSB1 -Dosgi.bundlefile.limit=750 -Dosgi.nl=en_US -Dmiddleware.home={home}/Oracle/Middleware -jar {home}/Development/oepe-indigo//plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
sun.java.launcher=SUN_STANDARD
sun.jnu.encoding=UTF-8
sun.lang.ClassLoader.allowArraySyntax=true
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=unknown
svnkit.http.methods=Basic
svnkit.library.gnome-keyring.enabled=false
user.country=AR
user.dir={home}/Development/oepe-indigo
user.home={home}
user.language=es
user.name={username}
user.timezone=America/Argentina/Buenos_Aires
weblogic.home={home}/Oracle/Middleware/wlserver_10.3
Thanks!!run this one in command prompt and then convert the applet using converter tool
JC_HOME = C:\java_card_kit-2_2_2\bin\
set CLASSES=%JCHOME%\lib\apduio.jar;%JC_HOME%\lib\apdutool.jar;%JC_HOME%\lib\jcwde.jar;%JC_HOME%\lib\converter.jar;%JC_HOME%\lib\scriptgen.jar;%JC_HOME%\lib\offcardverifier.jar;%JC_HOME%\lib\api.jar;%JC_HOME%\lib\installer.jar;%JC_HOME%\lib\capdump.jar;
D:\NareshPalle\jcardRE\Smart\src>java -classpath %_CLASSES% com.sun.javacard.con
verter.Converter -out EXP JCA CAP -exportpath .\exp -applet 0x0a:0x00:0x00:0x00:0x0e:0x01:0x02:
0x03:0x04:0x05:0x06 PackageName appletName 0x01:0x02:0x03:0x04:0x05:0x0
6:0x07:0x08 1.0
or
go to following directory and run the converter tool in command prompt
step 1: cd C:\java_card_kit-2_2_2\bin\
then run this command under the above directory
step 2:converter -classdir E:\Pathof Your applet class file -out EXP JCA CAP -exportpath E:\path of exp files folder -applet AID PackageName AppletName PackAID major.minor no
For more doubts mail me....
*[removed by moderator]*
Thanks and Regards
NareshPalle
Edited by: EJP on 31/03/2012 20:09: removed your email address. Unless you like spam and unless you think these forums are provided for your personal benefit only, posting an email address here serves no useful purpose whatsoever. -
I am recieving the above error in a FileNet Content Manager environment. The full stack trace is:
Exception in thread "main" java.lang.NoSuchMethodError: com.sun.mail.util.SocketFetcher.getSocket(Ljava/lang/String;ILjava/util/Properties;Ljava/lang/String;Z)Ljava/net/Socket;
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1195)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:322)
at javax.mail.Service.connect(Service.java:233)
at javax.mail.Service.connect(Service.java:134)
at javax.mail.Service.connect(Service.java:86)
at javax.mail.Transport.send0(Transport.java:162)
at javax.mail.Transport.send(Transport.java:80)
at com.bearingpoint.utilities.EMail.send(EMail.java:171)
at com.bearingpoint.utilities.EMail.send(EMail.java:31)
at email.main(email.java:11)
I have spent many hours, fiddling with classpaths, ensuring that the mail.jar, mailapi.jar, smtp.jar, activation.jar are all from the same generation of JavaMail. With my classpath set correctly I can run a simple program constructed to just test whether the box can send out email from the command line.
The code for the program is:
public class email {
public email() {
public static void main (String args[]) {
try {
EMail.send("10.132.147.62", "[email protected]", "[email protected]", "test", "test");
catch (Exception e) {
System.err.println(e.toString());
Where EMail.send() is:
public static void send(
String mail_server_host,
String email_from,
String email_to,
String subject,
String message) throws AddressException, MessagingException, IOException {
send(mail_server_host,
(Authenticator)null,
new InternetAddress[] {new InternetAddress(email_from)},
new InternetAddress[] {new InternetAddress(email_to)},
(InternetAddress[])null,
(InternetAddress[])null,
subject,
message,
null,
null);
which calls:
public static void send(
String mail_server_host,
Authenticator authenticator,
InternetAddress[] addresses_from,
InternetAddress[] addresses_to,
InternetAddress[] addresses_cc,
InternetAddress[] addresses_bcc,
String subject,
String message,
InputStream[] attachments,
MimeType[] attachmentTypes) throws MessagingException,IOException {
Properties properties = new Properties();
properties.put("mail.smtp.host", mail_server_host);
MimeMessage msg = new MimeMessage(
Session.getInstance(properties, authenticator));
msg.addFrom(addresses_from);
msg.setRecipients(Message.RecipientType.TO, addresses_to);
msg.setRecipients(Message.RecipientType.CC, addresses_cc);
msg.setRecipients(Message.RecipientType.BCC, addresses_bcc);
msg.setSubject(subject);
BodyPart bpBody = new MimeBodyPart();
bpBody.setText(message);
Multipart mpMessageBody = new MimeMultipart();
if (attachments == null && attachmentTypes == null) {
mpMessageBody.addBodyPart(bpBody);
msg.setContent(mpMessageBody);
else if (attachments == null) {
bpBody.setContent(message, attachmentTypes[0].toString());
mpMessageBody.addBodyPart(bpBody);
msg.setContent(mpMessageBody);
else {
mpMessageBody.addBodyPart(bpBody);
for (int i=0; i<attachments.length;i++) {
bpBody = new MimeBodyPart();
DataSource dsAttachment = new ByteArrayDataSource(attachments, attachmentTypes[i].toString());
bpBody.setDataHandler(new DataHandler(dsAttachment));
bpBody.setFileName("attachment." + new MimeFileExtensions(attachmentTypes[i].getValue()).toString());
mpMessageBody.addBodyPart(bpBody);
msg.setContent(mpMessageBody);
Transport.send(msg);
As said before all .jar files are of the same generation, yet when I run FileNet and the underlying content engine, and try to send an email, I recieve this exception. I have run out of ideas, and any help would be appreciated.
Things I've tried (multiple times):
- Removing any old versions of the jar files and replace them with JavaMail 1.3.3_01
- Have the content engine specifically import the JavaMail jar files.
While I realize some of you may not know what FileNet is, perhaps you have come across this exception before. Any new ideas would be more then appreciated.
Thank you for your time.I haven't seen this error before so I need more detail to reproduce it.
It looks like you daisy chained calls to various static send() methods from various classes. Could you write a static main() for the class with the send() method actually doing the work? In the main() write the test case and compile it, test it and if it still doesnt work post it. Please include the import statements as it is germain to the solution.
Its much easier for me to help you if I don't have to recreate "FileNet" to reproduce your error.
As an alternative....
The following code I got from: http://javaalmanac.com/egs/javax.mail/SendApp.html?l=new
its simpler than you're code but gets the job done (without attachments).
I've tested it and it works with:
javac -classpath .;c:\sun\appserver\lib\j2ee.jar;c:\sun\appserver\lib\mail.jar SendApp.java
java -classpath .;c:\sun\appserver\lib\j2ee.jar;c:\sun\appserver\lib\mail.jar SendApp
Ran on Windows XP, Sun J2EE 1.4/Appserver Bundle
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendApp {
public static void send(String smtpHost, int smtpPort,
String from, String to,
String subject, String content)
throws AddressException, MessagingException {
// Create a mail session
java.util.Properties props = new java.util.Properties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.port", ""+smtpPort);
Session session = Session.getDefaultInstance(props, null);
// Construct the message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject(subject);
msg.setText(content);
// Send the message
Transport.send(msg);
public static void main(String[] args) throws Exception {
// Send a test message
send("10.1.4.105", 25, "[email protected]", "[email protected]",
"test", "test message.");
} -
Com.sun.tools.javac.Main: method compile errors
I had a working web project the other day, and something happened that caused every page to start throwing this error:
# javax.servlet.ServletException: com.sun.tools.javac.Main: method compile([Ljava/lang/String;Ljava/io/PrintWriter;)I not found
# at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:779)
# at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
# at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
# at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
# at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
# at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
# at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
# at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
# at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
# at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:978)
# at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
# at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
# at com.mayco.mvc.MVCServlet.processRequest(MVCServlet.java:426)
# at com.mayco.ldap.MayServlet.service(MayServlet.java:415)
# at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
# at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
# at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
# at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
# at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
# at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
# at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
# at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
# at com.mayco.cy.filter.AuthenticateFilter.doFilter(AuthenticateFilter.java:167)
# at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
# at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
# at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
# at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
# at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
# at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
# at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
# at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
# at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
# at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
# at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
# at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
# at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
# at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
I tried setting up a clean environment (server, EAR, web project), but haven't been able to re-solve the problem I had with the original project yet. If I could get a starting point to look for how to solve this type of error it would be greatly appreciated!I checked my JDK compliance (1.4) and the installed JREs (Standard VM; WebSphere v5.1 EE JRE; C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51_stub\java\jre)
I did notice that it was using the JRE System LIbrary [WebSphere v5.1 JRE] and I changed it to the WebSphere v5.1 EE JRE like I think it should have been...
and the web server startup begins with:
*** Starting the server ***
************ Start Display Current Environment ************
WebSphere Platform 5.1 [BASE 5.1.0.3 cf30412.02] [JDK 1.4.1 b0344.02] running with process name localhost\localhost\server1 and process id 2692
Host Operating System is Windows XP, version 5.1
Java version = J2RE 1.4.1 IBM Windows 32 build cn1411-20031011 (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM
was.install.root = C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51
user.install.root = C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51
Java Home = C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51\java\jre
ws.ext.dirs = C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/java/lib;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/classes;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/classes;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/lib;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/lib/ext;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/web/help;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime;C:/Program Files/IBM/SQLLIB/java/db2java.zip;C:/Program Files/IBM/WebSphere Studio/Application Developer/v5.1.2/wstools/eclipse/plugins/com.ibm.etools.webservice_5.1.2/runtime/worf.jar
Classpath = C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/properties;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/properties;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/lib/bootstrap.jar;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/lib/j2ee.jar;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/lib/lmproxy.jar;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/lib/urlprotocols.jar;C:\WebSphere\properties;C:\spi4j2.5.4_J2ee1.4\clientLib\XEES.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\bcprov-jdk14-139.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\config.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\spi4jStub_2.5.4.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\XEES100J.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\XEES110J.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\XEES120J.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\XEES200J.jar;C:\spi4j2.5.4_J2ee1.4\clientLib\XTCP211.jar;C:\spi4j2.5.4_J2ee1.4\Demo\log4j-1.2.8.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\spi4jCore_2.5.4.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\axis-1.1.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\xmlParserAPIs-2_2_1.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\jaxrpc.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\wsdl4j.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\fsgWsif1.1.jar;C:\spi4j2.5.4_J2ee1.4\Demo\commons-logging.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\tools.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\commons-pool-1.2.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\saaj.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\commons-beanutils-core.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\commons-collections-3.1.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\commons-discovery.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\commons-lang-2.1.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\connector.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\FEDRWSCHECKSTATUSAxisInfo.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\fscontext.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\IFSClassLoader1.2.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\j2ee1.4.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\jca.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\jta.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\mail.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\providerutil.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\qname.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\soaprmi-1_1.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\xalan.jar;C:\spi4j2.5.4_J2ee1.4\coreLib\xercesImpl-2_2_1.jar;C:/Program Files/IBM/WebSphere Studio/Application Developer/v5.1.2/wstools/eclipse/plugins/com.ibm.etools.websphere.tools.common_5.1.1.1/runtime/wteServers.jar;C:/Program Files/IBM/WebSphere Studio/Application Developer/v5.1.2/wstools/eclipse/plugins/com.ibm.etools.websphere.tools.common_5.1.1.1/runtime/wasToolsCommon.jar
Java Library path = C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/bin;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/java/bin;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\runtimes\base_v51/java/jre/bin;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\eclipse\jre\bin;.;C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\eclipse\jre\bin;C:\oracle\product\10.2.0\client_2\bin;C:\oracle\product\10.2.0\client_1\bin;Y:\oracle\ora92\BIN;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\PROGRA~1\CA\SHARED~1\SCANEN~1;C:\PROGRA~1\CA\ETRUST~1;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Rational\common;C:\Program Files\Rational\ClearCase\bin;C:\Program Files\IBM\SDP70\jdk\bin
************* End Display Current Environment ************* -
All:
I have completed the following:
1. Downloaded the JavaMail 1.4.2 API.
2. From this downloaded API I had extracted the mail.jar file (timestamp 2009-02-26 13:28) to my C:\Program Files\Tomcat 6.0\lib directory
3. Downloaded the jaf-1_0_2-upd2 API
4. From this downloaded API I had extracted the activation.jar file (timestamped 2005-05-07 21:14) also to my C:\Program Files\Tomcat 6.0\lib directory.
In Eclipse I have created a simple JSP page that calls a POJO that is to read a particular email box using IMAP. In this POJO I have code to set up the Properties, Session and Store objects as such:
Line 1 Properties properties = System.getProperties();
Line 2 properties.put("mail.from", "[email protected]");
Line 3 properties.put("mail.debug","true");
Line 4 session = Session.getDefaultInstance(properties, null);
Line 5 session.setDebug(debug);
Line 6 printData("About to get store object...");
Line 7 store = session.getStore("imap");
In eclispe, I click "Debug on Server" and Tomcat starts, begins to display my JSP and then I am dropped on the line of code in my POJO where I set a breakpoint (Line 1). Now I single step through the code. The code throws the following execption when it executes line 7 of the above code :
(Line 6 ==>) About to get store object...
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]
java.lang.NoSuchMethodException: com.sun.mail.imap.IMAPStore.<init>(javax.mail.Session, javax.mail.URLName)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at javax.mail.Session.getService(Session.java:782)
at javax.mail.Session.getStore(Session.java:574)
at javax.mail.Session.getStore(Session.java:536)
at javax.mail.Session.getStore(Session.java:515)
at emailTest.readEmails.processMail(readEmails.java:62)
at emailTest.readEmails.<init>(readEmails.java:24)
at org.apache.jsp.emailTest_jsp._jspService(emailTest_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
There are no jar files defined in my project's classpath. The only jar file found in the project is in the WEB-INF\lib folder wherein I have a jndi.jar (timstamp 5/5/2009 8:10AM) file.
I put the activation.jar file and the mail.jar file in my Tomcat.6\lib folder according item 4 of the JavaMail Sessions section of the Apache Tomcat JNDI Resources HOW_TO found here: http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html
Can anybody please tell me what I need to do to get around this error? Do I perhaps have the wrong versions of one or more jar files?
FYI: I have also put these same two jar files in my projects classpath and still recevied the same exception. Because I am invoking a POJO from a JSP should these jar files be in my projects classpath in addition to the tomcat\lib directory, or should they only be in the projects' classpath?
Thanks to all for your time in responding.
Garybshannon:
Thank you for your resonse. Your response got me to thinking that my instance of Ecliplse that I had had running yesterday was behaving a little strangely so this morning I closed everything I had running on my workstation and closed down the machine and rebooted. When I finally opend up Eclipse again and ran my JSP program calling my POJO, the code no longer threw the exception. Apparently Eclipse can have its tempermental moments.
Also, let it be known that while everything is working for me now, I performed a small experiment. I moved the activiation.jar and mail.jar from my project\WEB-INF\lib folder and put them in the the C:\Program Files\Tomcat 6.0\lib directory. Then, when I ran my program I once again recieved the java.lang.NoSuchMethodException error. When I moved these jar files back from the Tomcat diretory to my project\WEB-INF\lib directory, the program worked just fine.
Thanks again
Gary -
Hi ,
Recently, my team need to work with javamail. Here I got a problem: when I run the application in my personal home network , it goes on very well. When I run the program in my company env, it gives error info:
Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
at javax.mail.Service.connect(Service.java:313)
The resource is :
import java.security.Security;
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
*Use Gmail
public class GmailSender {
public static void main(String[] args) throws AddressException, MessagingException {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
//Add proxy for GmailSender
//especially here, I am not sure whether the proxy really works. In home network, it needn't proxy to run successfully.
// props.setProperty("proxySet","true");
// props.setProperty("socksProxyHost","148.87.19.20"); // This IP address is our proxy server address
// props.setProperty("socksProxyPort","80");
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
final String username = "XXX";
final String password = "XXX";
Session session = Session.getDefaultInstance(props, new Authenticator(){
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
// -- Create a new message --
Message msg = new MimeMessage(session);
// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(username + "@gmail.com"));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]",false));
msg.setSubject("Hello");
msg.setText("How are you");
msg.setSentDate(new Date());
Transport.send(msg);
System.out.println("Message sent.");
Will you please help me to review my code and give me some suggestions ?No point looking at the code. The error message says the code can't connect to the server you are trying to connect to, so presumably there's a firewall or something like that preventing the connection. Talk to your network people.
-
Com.sun.identity.authentication.spi.AuthLoginException:
Hello -
I'm currently trying to integrate IDM 7.1, Access Manager 7.1 and Directory Server 6.0...
The problem that I am running into is trying to register Access Manager 7.1 as a resource in IDM:
I am utilizing the Sun Java Access Manager Realm Resource Adapter.
I am getting the following exception -
Test connection failed for resource(s):
SunAccessManagerRealm: Could not connect as user �uid=amAdmin,ou=People,o=AMRoot� with specified password ==> com.waveset.util.WavesetException: Could not connect as user �uid=amAdmin,ou=People,o=AMRoot� with specified password ==> com.sun.identity.authentication.spi.AuthLoginException: Failed to create new Authentication Context:Naming Service is not available
I've done the following:
1) I have verified that the naming service is available because I get the following message when I access the url:
�Webtop 2.5 Platform Low Level request servlet�
2) I have edited and added the proper lines in AMAgent.properties
3) I have created a policy for IDM in AM
4) I have copied the jar files into IDM_Install_Dir/WEB-INF/lib
5) I have copied the AMConfig.properties file into IDM_Install_Dir/WEB-INF/classes
6) Added the custom resource (with no errors) under Configure Types in IDM
Any help would be greatly appreciated.try to use only the amclientsdk.jar and a minimal AMConfig.properties file in the IDM WEB-INF/classes directory. Try these values (modify for your env):
com.iplanet.am.naming.url=http://amserver.com:80/amserver/namingservice
com.iplanet.am.naming.failover.url=
com.iplanet.services.debug.level=error
com.iplanet.services.debug.directory=/tmp/amDebug
com.iplanet.security.encryptor=com.iplanet.services.util.JCEEncryption
com.iplanet.am.notification.url=
com.sun.identity.agents.notification.enabled=false
com.sun.identity.agents.notification.url=
com.sun.identity.agents.app.username=amadmin
com.iplanet.am.service.password=amdminpassword
am.encryption.pwd=encpassword -
Report cannot be rendered (com/sun/java/util/collections/Iterator)
Hello all
I'm new both to Weblogic Server and BI Publisher.
A few days ago I thought that I managed to install BI Publisher on top of Weblogic. It turns out to be untrue because I am not able to view any report, being it a sample or a newly created one.
Platform: Windows 2003 32-bit
Weblogic version: 10.3.3.0
BI Publisher version: 10.1.3.4.1 (doesn't work both w/ and w/o the latest patchset 9791839)
And now to the problem. Whenever I try to view a report, I get an error message stating "The report cannot be rendered because of an error, please contact the administrator". Being both the user and the administrator, I am forced to press the "Error Detail" link, upon which the only thing that pops below is "com/sun/java/util/collections/Iterator" (in red).
The same non-verbose error message appears also when running in debug mode. Weblogic logs are empty from warnings, errors, etc.
As for the Weblogic Server, it claims that the xmlpserver application has been deployed and started successfully.
It seems to me that the BI Publisher application is trying to use java class that doesn't exist (com.sun.java.util.collections.Iterator). Of course I have no clue how to prove that because I do not have the source code for this app.
Oracle support is hardly able to understand the problem, so I thought maybe one of you could give me some answer.
Any Ideas?
JonathanBy the way, I deployed the app under Oracle Report's cluster. Don't know whether it matters.
-
Hi,
While trying to get JVM Memory pool information of a remote computer ,am getting java.io.NotSerializableException. I used following method
ManagementFactory.getMemoryPollMXBean().
Please help me to solve these exception.
java.io.NotSerializableException: sun.management.MemoryPoolImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at com.path.systemmanager.tunnelGate.TunnelServlet.doPost(TunnelServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Thanks,
SreejithI agree, it looks frustrating. Obviously the serialization process has found the non-serializable object during the traversal of the object graph, but its difficult to know where this is.
Your class looks a bit "serialization-heavy", if you don't mind me saying. I avoid serializing anything to do with swing components and stick to collections and my own classes. Do you need to serialize these? If not, mark them transient. You can do this for all of them and then reintroduce into the serialized form one at a time to see which one causes the problem (just for curiosity).
When the object is deserialized you will have to make the necessary arrangements to set up any members that you marked transient, as these will be null. You can do this is readObject, but on this subject, why are you writing out the points member explicitly? It will be written out anyway since there is nothing special about it.
I don't know how familiar you are with the serialization package but its a sharp instrument that needs respect. I would advise reading the specification, if you haven't already done so. -
Use of classes in com.sun.tools.doclets
Hello -- What is the best practice recommendation wrt using the classes in com.sun.tools.doclets -- particularly with the planned refactoring?
I'm writing a doclet that doesn't subclass, say, the standard doclet. There are obviously several very useful classes in this package (ClassTree, Util, MethodFinder, etc.) that I'd like to use. I can simply call their methods, but I'm curious to know if their active days are numbered.
Would it be better to simply incorporate the source? What are the restrictions on using the source in my own doclet?
If this is all covered somewhere (I've been hunting around a bit), please feel free to simply point me to the info.
Thanks!
SteveThe Java 2 SDK license (which covers javadoc) allows you to only
redistribute the code unmodified.
In 1.5.0, the refactoring has renamed all of the packages and
moved a lot of code around. We hope and plan to release
the refactored code on java.net around the time 1.5.0 is
released, and get an early access of it out. We'll notify
people who are on the javadoc-announce email address which
people can sign up as described at:
http://java.sun.com/j2se/javadoc/#forum
If you want more specific information now about how these will change,
please let me know and we can answer those questions.
-Doug Kramer
Javadoc team -
I have two different RMI-IIOP java clients, one is working fine and the other is not. Both are using weblogic.jndi.WLInitialContextFactory from wlclient.jar in WLS 8.1sp5 and JDK 1.4.2_6.
One java client is a straight-forward java main. JNDI lookup is returning EJBHome_Stub correctly loaded by sun.rmi.server.LoaderHandler$Loader
The other java client is a complex java program with multiple threads and many jars. A thread does the same JNDI lookup as the simple java client, but the object returned is of type com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1 which has NULL classloader (bootstrap classloader).
What condition triggered the WebLogic InitialContext to default to com.sun.corba.se.internal.iiop.CDRInputStream?Kevin Fung <> writes:
This is usally symptomatic of an IOR without the corresponding stub
being loaded, usually because the correct security manager is not
set. However the client jar bypasses the security manager to try and
avoid this problem, so I am confused as to why you are seeing this. Do
you know which object it is accessing? Can you try putting IIOP stubs
for it in the client?
andy
I have two different RMI-IIOP java clients, one is working fine and the other is not. Both are using weblogic.jndi.WLInitialContextFactory from wlclient.jar in WLS 8.1sp5 and JDK 1.4.2_6.
One java client is a straight-forward java main. JNDI lookup is returning EJBHome_Stub correctly loaded by sun.rmi.server.LoaderHandler$Loader
The other java client is a complex java program with multiple threads and many jars. A thread does the same JNDI lookup as the simple java client, but the object returned is of type com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1 which has NULL classloader (bootstrap classloader).
What condition triggered the WebLogic InitialContext to default to com.sun.corba.se.internal.iiop.CDRInputStream? -
I installed IDM 8.1 Patch 11 on WebLogic server. When I start the server I am getting following error. The Login page never shows up. I will appreciate if you can give me the pointer.
] Root cause of ServletException.
java.lang.NoClassDefFoundError: com/sun/idm/idmx/txn/TransactionManager
at com.waveset.ui.LoginHelper.csrfGuardTokenEnabled(LoginHelper.java:2471)
at com.waveset.ui.LoginHelper.handleCSRFGuardToken(LoginHelper.java:2186)
at jsp_servlet.__login._jspService(__login.java:251)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at com.sun.idm.profiler.instrumentation.RequestTimingFilter.doFilter(RequestTimingFilter.java:76)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Edited by: 842717 on Mar 8, 2011 12:16 PMYou are receiving this error because one of the fields being pulled from IdM, exceeds he column limit defined in the GLOBALUSERS database table.
I received this error before because the PRIMARYEMAIL column in the GLOBALUSERS table was defined as [PRIMARYEMAIL] [nvarchar](50).
I went into Microsoft SQL Server Management Studio and updated the field to [PRIMARYEMAIL] [nvarchar](100), and then the import worked.
Hope this helps,
Larry L. Viars | Senior Consultant
Logic Trends, Identity & Access Management Specialists
Maybe you are looking for
-
IPhoto opens whenever iPhone is connected
Even though I have syncing of photos deselected in my iPhone settings in iTunes. Is there some way to turn this off? Thanks
-
How to deploy a Flex application (Server Type ColdFusion) to production
I have built a flex application using Flash Builder 4.6. It utilizes ColdFusion Flash Remoting for its data services. When first setting up the data services I had to set a bunch of properties in the flex server section. Which I am not sure are al
-
I can't get Photoshop (Elements 12) to run on my (new) Windows 8 computer?
Just what I said above. I bought Photoshop in December (2013) and now I can't work with it and I'm really frustrated.
-
Will I commit suicide by upgrading to CS4????
I currently have CS3 and would like to upgrade to CS4 if it agrees with my system. My specs are: Q6600 @3.2Ghz ASUS P5E WS motherboard 4GB DDR2 800mhz 4 500GB drives (7,200) 8800GT nVidia XP x64 Do you have similar specs and run CS4? Are you having p
-
Hello new to boards. I do have a question.
Hello New to Community so please be patients :). My question; is there a way to protect accidental erasure of emails in Mac Mail Version 8.0 (1990.1) Thanks Dave PS not sure if this info about system helps