Re: JMX Access?
Hi Jerry, I'm very happy to see the community is able to make business on top of James! That's great! As James seems to be a non negligible part of your business, there's things you can do not to be left behind with tight deadline in the future: - Join server-dev mailing list: - You will see vote of releases, beta-test them, and ensure they do not break your current deployment / migration will be doable. This is especially important for the Spring product we don't use at Linagora. Also, I encourage you to take part in the voting process. - Maybe dedicate a bit of time to James maintenance. I'm sure committers will be delighted of showing you where and how to fix your issues and make James a better product. > But when I open the zip and set all log levels to DEBUG and all the log files are empty, I would hope someone on the developer/contributor team would be willing to take a look and see if I'm right. I never doubted you are right. > It's the total silence that is difficult when my source of income is on the line. You received several answers on that very topic, that's not a total silence. I wish you the best for your deadline. I answered your log4j issue in the dedicated thread. Regards, Benoit On 26/09/2019 13:11, Jerry Malcolm wrote: > I apologize that my posts have appeared course. I'm very frustrated and > nervous about my client base. I committed my business to James around > 2004, I believe. I upgraded from v2 to v3b5 in 2014 with relatively > minor issues. When I started what I thought would be an even less > stressful migration in early August to 3.3.0, I was not prepared for > nearly 2 months of effort and still no way of knowing how to get 3.3.0 > to work. The date is fast approaching that my current server is going > away. And if I don't have 3.3.0 up and running, I get to tell a whole > lot of people that they're not going to be getting mail and my business > folds. This is pretty scary. I completely understand this is > voluntary. I simply would like some people more knowledgeable about > James than me to dialog about whether problems are actually release > content problems or user error. I can handle user errors. I am far > from knowledgeable about everything in James, and I make mistakes. But > when I open the zip and set all log levels to DEBUG and all the log > files are empty, I would hope someone on the developer/contributor team > would be willing to take a look and see if I'm right. If I'm right, > then a suggested workaround would be huge. If I'm wrong, someone set me > straight. Again, I'm sorry for the frustrated posts. It's the total > silence that is difficult when my source of income is on the line. > > I'm willing to pay for support. Please contact me privately and let me > know the cost would be to find out why I can't see any log output for > any loggers other than james-server. > > On 9/26/2019 12:35 AM, Tellier Benoit wrote: >> Hi Jerry >> Well, >> >> 1. You are asking sometime hard questions that people can't answers >> without significant work overhead. >> >> 2. This is OpenSource. This is Free. This is 'best effort' given a >> limited time range. >> >> Please read again carefully the Apache foundation mailing list guide >> lines: https://www.apache.org/foundation/policies/conduct.html >> >> I personally do not find the style of your previous email being >> 'friendly' with the work contributors do. And you are also not patient >> with the answers the community provides you for free. >> >> I'd like to mention that some community member will by the way be very >> happy to offer a paid support (for example me as part of Linagora >> company) might you be unhappy with the support provided as part of the >> community. >> >> And for your information, yes, we are using James 3.3.0. >> >> I will answer your JMX question in an other email. >> >> Best regards >> >> On 26/09/2019 12:03, Jerry Malcolm wrote: >>> I figure if I keep asking questions, sooner or later I'm going to hit >>> one that SOMEBODY can help me withThe issues keep backing up. And >>> my deadline is way too close Is anyone using James 3.3.0? Yet I'm >>> the only one having these out-of-the-box problems? This migration has >>> been an absolute nightmare. >>> >>> I still have absolutely NO way to see any logging data for the mailets, >>> smtp, imap, etc logs. So I decided to use JMX to see if there were any >>> MBeans exposed that might help me figure out why there is no logging. >>> And, of course with the way everything else has gone, I can't connect to >>> James JMX. JConsole will not connect. It works fine accessing Tomcat >>> using the same approach. But nothing with James. I'm using a PuTTY >>> tunnel directly to the Amazon EC2 instance. >>> >>> I went back to an absolute pristine install of JAMES 3.3.0 right out of >>> the downloaded zip file. I made absolutely zero changes to the >>> install/config. Just unpack and run. No JMX access with
Re: JMX Access?
Hi Jerry, I don't use 3.3.0, however, I just downloaded 3.3.0 for you and ran a quick test by running run.bat file in my windows command prompt and JMX is working fine without issues. I can also see the basic logs in my console. May be you have to try starting the server in different way. I don't know. See the logs below: INFO 02:58:13,681 | org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor | Mailet ToRepository instantiated. INFO 02:58:13,697 | org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor | Matcher All instantiated. INFO 02:58:13,933 | org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor | Mailet DSNBounce instantiated. INFO 02:58:13,960 | org.apache.james.mailetcontainer.impl.JamesMailSpooler | org.apache.james.mailetcontainer.impl.JamesMailSpooler init... INFO 02:58:13,962 | org.apache.james.mailetcontainer.impl.JamesMailSpooler | org.apache.james.mailetcontainer.impl.JamesMailSpooler uses 20 Thread(s) INFO 02:58:13,969 | org.apache.james.mailetcontainer.impl.JamesMailSpooler | Run org.apache.james.mailetcontainer.impl.JamesMailSpooler: dequeuer-1 INFO 02:58:13,969 | org.apache.james.mailetcontainer.impl.JamesMailSpooler | Run org.apache.james.mailetcontainer.impl.JamesMailSpooler: dequeuer-0 INFO 02:58:14,000 | org.apache.james.mailetcontainer.impl.JamesMailSpooler | Queue=MailQueue:spool INFO 02:58:13,995 | org.apache.james.mailetcontainer.impl.JamesMailSpooler | Queue=MailQueue:spool INFO 02:58:14,016 | org.apache.james.fetchmail.FetchScheduler | FetchMail Disabled INFO 02:58:14,053 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | SMTP Service bound to: 0.0.0.0:25 INFO 02:58:14,053 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | SMTP Service is running on: DESKTOP-MN4GU1P INFO 02:58:14,055 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | SMTP Service handler hello name is: DESKTOP-MN4GU1P INFO 02:58:14,061 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | SMTP Service handler connection timeout is: 360 INFO 02:58:14,062 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | SMTP Service connection backlog is: 200 INFO 02:58:14,062 | org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer | This SMTP server does not require authentication. INFO 02:58:14,063 | org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer | No maximum message size is enforced for this server. INFO 02:58:14,314 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Init SMTP Service done INFO 02:58:14,334 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | LMTP Service disabled by configuration INFO 02:58:14,344 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | POP3 Service bound to: 0.0.0.0:110 INFO 02:58:14,345 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | POP3 Service is running on: DESKTOP-MN4GU1P INFO 02:58:14,346 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | POP3 Service handler hello name is: DESKTOP-MN4GU1P INFO 02:58:14,346 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | POP3 Service handler connection timeout is: 1200 INFO 02:58:14,353 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | POP3 Service connection backlog is: 200 INFO 02:58:14,418 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Init POP3 Service done INFO 02:58:14,665 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service bound to: 0.0.0.0:143 INFO 02:58:14,666 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service is running on: DESKTOP-MN4GU1P INFO 02:58:14,667 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service handler hello name is: DESKTOP-MN4GU1P INFO 02:58:14,674 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service handler connection timeout is: 300 INFO 02:58:14,674 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service connection backlog is: 200 INFO 02:58:14,692 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Init IMAP Service done INFO 02:58:14,715 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Manage Sieve Service disabled by configuration INFO 02:58:16,124 | org.apache.james.app.spring.JamesAppSpringMain | Apache James Server is successfully started in 23781 milliseconds. Sorry I couldn't be of much helpful. Thanks, Sai On Thu, Sep 26, 2019 at 1:34 AM Jerry Malcolm wrote: > > Sai, > > Thanks for the quick response. But in the latest 3.3.0 download, there > is not a james.sh file. I've been using run.sh. There is a > james-cli.sh. But I have not been using it. But both the run.sh and > james-cli.sh files have those two parameters
Re: JMX Access?
The way I understand tunneling, with SSH tunneling, I am technically connecting locally. I use PuTTY on my local machine. But I set up a secure tunnel to port on the remote host. When I connect to localhost: on my machine it's the same as connecting to localhost: on the target machine. As long as the tunnel is secure (SSL), there's no outside access to JMX. At least that's the way the videos explain it for accessing remote Tomcat via a PuTTY tunnel. And Tomcat access works. Is the exception in James startup log stating that the connection is refused ok to ignore. Seems that's not a good thing. On 9/26/2019 12:40 AM, Tellier Benoit wrote: Hi Jerry, You need to be aware James restrict JMX access to localhost. As you know, the James command line is currently using JMX. JMX is known-to-be unsecure: read https://www.cvedetails.com/cve/CVE-2017-12628/ for instance. Exposing JMX only to localHost is a mitigation. Could this be the root of your JMX problem? On 26/09/2019 12:03, Jerry Malcolm wrote: [...]> So I decided to use JMX to see if there were any MBeans exposed that might help me figure out why there is no logging. And, of course with the way everything else has gone, I can't connect to James JMX. JConsole will not connect. It works fine accessing Tomcat using the same approach. But nothing with James. I'm using a PuTTY tunnel directly to the Amazon EC2 instance. I went back to an absolute pristine install of JAMES 3.3.0 right out of the downloaded zip file. I made absolutely zero changes to the install/config. Just unpack and run. No JMX access with out-of-the-box James either. JConsole hangs for about a minute, and gives me an error that it can't connect. Then I made one change to log4j.properties and bumped everything to DEBUG. Thankfully, the one log file that actually works in this release is James-server.log. I see the following error when James is apparently starting up JMX. The 172.31 IP address it's failing on is my EC2 public IP. But the jmx.properties file says to connect to 127.0.0.1:. I never explicitly configured the 172.31... address anywhere in James. What's causing this: INFO 04:29:47,638 | org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for RMI registry at port '', using custom socket factory DEBUG 04:29:47,642 | org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry access threw exception java.rmi.ConnectException: Connection refused to host: 172.31.32.236; nested exception is: java.net.ConnectException: Connection refused (Connection refused) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) at sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.testRegistry(RmiRegistryFactoryBean.java:281) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:222) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:193) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:164) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:620) at
Re: JMX Access?
I apologize that my posts have appeared course. I'm very frustrated and nervous about my client base. I committed my business to James around 2004, I believe. I upgraded from v2 to v3b5 in 2014 with relatively minor issues. When I started what I thought would be an even less stressful migration in early August to 3.3.0, I was not prepared for nearly 2 months of effort and still no way of knowing how to get 3.3.0 to work. The date is fast approaching that my current server is going away. And if I don't have 3.3.0 up and running, I get to tell a whole lot of people that they're not going to be getting mail and my business folds. This is pretty scary. I completely understand this is voluntary. I simply would like some people more knowledgeable about James than me to dialog about whether problems are actually release content problems or user error. I can handle user errors. I am far from knowledgeable about everything in James, and I make mistakes. But when I open the zip and set all log levels to DEBUG and all the log files are empty, I would hope someone on the developer/contributor team would be willing to take a look and see if I'm right. If I'm right, then a suggested workaround would be huge. If I'm wrong, someone set me straight. Again, I'm sorry for the frustrated posts. It's the total silence that is difficult when my source of income is on the line. I'm willing to pay for support. Please contact me privately and let me know the cost would be to find out why I can't see any log output for any loggers other than james-server. On 9/26/2019 12:35 AM, Tellier Benoit wrote: Hi Jerry Well, 1. You are asking sometime hard questions that people can't answers without significant work overhead. 2. This is OpenSource. This is Free. This is 'best effort' given a limited time range. Please read again carefully the Apache foundation mailing list guide lines: https://www.apache.org/foundation/policies/conduct.html I personally do not find the style of your previous email being 'friendly' with the work contributors do. And you are also not patient with the answers the community provides you for free. I'd like to mention that some community member will by the way be very happy to offer a paid support (for example me as part of Linagora company) might you be unhappy with the support provided as part of the community. And for your information, yes, we are using James 3.3.0. I will answer your JMX question in an other email. Best regards On 26/09/2019 12:03, Jerry Malcolm wrote: I figure if I keep asking questions, sooner or later I'm going to hit one that SOMEBODY can help me withThe issues keep backing up. And my deadline is way too close Is anyone using James 3.3.0? Yet I'm the only one having these out-of-the-box problems? This migration has been an absolute nightmare. I still have absolutely NO way to see any logging data for the mailets, smtp, imap, etc logs. So I decided to use JMX to see if there were any MBeans exposed that might help me figure out why there is no logging. And, of course with the way everything else has gone, I can't connect to James JMX. JConsole will not connect. It works fine accessing Tomcat using the same approach. But nothing with James. I'm using a PuTTY tunnel directly to the Amazon EC2 instance. I went back to an absolute pristine install of JAMES 3.3.0 right out of the downloaded zip file. I made absolutely zero changes to the install/config. Just unpack and run. No JMX access with out-of-the-box James either. JConsole hangs for about a minute, and gives me an error that it can't connect. Then I made one change to log4j.properties and bumped everything to DEBUG. Thankfully, the one log file that actually works in this release is James-server.log. I see the following error when James is apparently starting up JMX. The 172.31 IP address it's failing on is my EC2 public IP. But the jmx.properties file says to connect to 127.0.0.1:. I never explicitly configured the 172.31... address anywhere in James. What's causing this: INFO 04:29:47,638 | org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for RMI registry at port '', using custom socket factory DEBUG 04:29:47,642 | org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry access threw exception java.rmi.ConnectException: Connection refused to host: 172.31.32.236; nested exception is: java.net.ConnectException: Connection refused (Connection refused) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) at sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) at
Re: JMX Access?
Thanks for the very instructive email. Wouldn't you mind stating in http://james.apache.org/server/monitor-jmx.html that these system properties might be setted for a remote JMX usage? https://github.com/apache/james-project/blob/master/src/site/xdoc/server/monitor-jmx.xml is the corresponding source file. And by the way, as I stated in a previous email, there is very good reasons not to enable JMX remotely, namely https://www.cvedetails.com/cve/CVE-2017-12628/ ... We need to warn about security implication of remote JMX usage as well. Best regards, Benoit Tellier On 26/09/2019 12:21, Saibabu Vallurupalli wrote: > Hi Jerry, > > you need to add JVM options before starting the James server. See the > two parameters below: > Edit james.sh in vi editor or whichever you are comfortable with and > then add "-Dcom.sun.management.jmxremote=true" and > "-Dcom.sun.management.jmxremote.authenticate=false", see below the way > how I did. > > case "$1" in > start) > echo Starting James > nohup java -classpath > "james-server-jpa-guice.jar:james-server-jpa-guice.lib/*:james-server-jpa-guice.lib" > -javaagent:james-server-jpa-guice.lib/openjpa-3.0.0.jar > -Dcom.sun.management.jmxremote=true > -Dcom.sun.management.jmxremote.authenticate=false > -Dlogback.configurationFile=conf/logback.xml -Dworking.directory=. > org.apache.james.JPAJamesServerMain > /dev/null 2>&1 & > > Do the same for restart) option too just in case if you restart you > may loose JMX option. > > Then the JMX gets enabled. The script has issues, these parameters > should be available by default. > > Hope this helps and you can meet your deadline now :-) > > Let me know how it goes. > > Thanks, > Sai > > On Thu, Sep 26, 2019 at 1:11 AM Jerry Malcolm wrote: >> >> I figure if I keep asking questions, sooner or later I'm going to hit >> one that SOMEBODY can help me with The issues keep backing up. And >> my deadline is way too close Is anyone using James 3.3.0? Yet I'm >> the only one having these out-of-the-box problems? This migration has >> been an absolute nightmare. >> >> I still have absolutely NO way to see any logging data for the mailets, >> smtp, imap, etc logs. So I decided to use JMX to see if there were any >> MBeans exposed that might help me figure out why there is no logging. >> And, of course with the way everything else has gone, I can't connect to >> James JMX. JConsole will not connect. It works fine accessing Tomcat >> using the same approach. But nothing with James. I'm using a PuTTY >> tunnel directly to the Amazon EC2 instance. >> >> I went back to an absolute pristine install of JAMES 3.3.0 right out of >> the downloaded zip file. I made absolutely zero changes to the >> install/config. Just unpack and run. No JMX access with out-of-the-box >> James either. JConsole hangs for about a minute, and gives me an error >> that it can't connect. >> >> Then I made one change to log4j.properties and bumped everything to >> DEBUG. Thankfully, the one log file that actually works in this release >> is James-server.log. I see the following error when James is apparently >> starting up JMX. The 172.31 IP address it's failing on is my EC2 >> public IP. But the jmx.properties file says to connect to >> 127.0.0.1:. I never explicitly configured the 172.31... address >> anywhere in James. >> >> What's causing this: >> >> INFO 04:29:47,638 | >> org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for >> RMI registry at port '', using custom socket factory >> DEBUG 04:29:47,642 | >> org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry >> access threw exception >> java.rmi.ConnectException: Connection refused to host: 172.31.32.236; >> nested exception is: >> java.net.ConnectException: Connection refused (Connection refused) >> at >> sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) >> at >> sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) >> at >> sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) >> at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) >> at >> sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) >> at >> org.springframework.remoting.rmi.RmiRegistryFactoryBean.testRegistry(RmiRegistryFactoryBean.java:281) >> at >> org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:222) >> at >> org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:193) >> at >> org.springframework.remoting.rmi.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:164) >> at >> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573) >> at >>
Re: JMX Access?
Hi Jerry, You need to be aware James restrict JMX access to localhost. As you know, the James command line is currently using JMX. JMX is known-to-be unsecure: read https://www.cvedetails.com/cve/CVE-2017-12628/ for instance. Exposing JMX only to localHost is a mitigation. Could this be the root of your JMX problem? On 26/09/2019 12:03, Jerry Malcolm wrote: > [...]> So I decided to use JMX to see if there were any > MBeans exposed that might help me figure out why there is no logging. > And, of course with the way everything else has gone, I can't connect to > James JMX. JConsole will not connect. It works fine accessing Tomcat > using the same approach. But nothing with James. I'm using a PuTTY > tunnel directly to the Amazon EC2 instance. > > I went back to an absolute pristine install of JAMES 3.3.0 right out of > the downloaded zip file. I made absolutely zero changes to the > install/config. Just unpack and run. No JMX access with out-of-the-box > James either. JConsole hangs for about a minute, and gives me an error > that it can't connect. > > Then I made one change to log4j.properties and bumped everything to > DEBUG. Thankfully, the one log file that actually works in this release > is James-server.log. I see the following error when James is apparently > starting up JMX. The 172.31 IP address it's failing on is my EC2 > public IP. But the jmx.properties file says to connect to > 127.0.0.1:. I never explicitly configured the 172.31... address > anywhere in James. > > What's causing this: > > INFO 04:29:47,638 | > org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for > RMI registry at port '', using custom socket factory > DEBUG 04:29:47,642 | > org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry > access threw exception > java.rmi.ConnectException: Connection refused to host: 172.31.32.236; > nested exception is: > java.net.ConnectException: Connection refused (Connection refused) > at > sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) > at > sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) > at > sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) > at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) > at > sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.testRegistry(RmiRegistryFactoryBean.java:281) > > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:222) > > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:193) > > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:164) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) > > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) > > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) > > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) > > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) > > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283) > > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) > > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:620) > > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:942) > > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) > > at > org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139) > > at > org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:93) > > at >
Re: JMX Access?
Hi Jerry Well, 1. You are asking sometime hard questions that people can't answers without significant work overhead. 2. This is OpenSource. This is Free. This is 'best effort' given a limited time range. Please read again carefully the Apache foundation mailing list guide lines: https://www.apache.org/foundation/policies/conduct.html I personally do not find the style of your previous email being 'friendly' with the work contributors do. And you are also not patient with the answers the community provides you for free. I'd like to mention that some community member will by the way be very happy to offer a paid support (for example me as part of Linagora company) might you be unhappy with the support provided as part of the community. And for your information, yes, we are using James 3.3.0. I will answer your JMX question in an other email. Best regards On 26/09/2019 12:03, Jerry Malcolm wrote: > I figure if I keep asking questions, sooner or later I'm going to hit > one that SOMEBODY can help me withThe issues keep backing up. And > my deadline is way too close Is anyone using James 3.3.0? Yet I'm > the only one having these out-of-the-box problems? This migration has > been an absolute nightmare. > > I still have absolutely NO way to see any logging data for the mailets, > smtp, imap, etc logs. So I decided to use JMX to see if there were any > MBeans exposed that might help me figure out why there is no logging. > And, of course with the way everything else has gone, I can't connect to > James JMX. JConsole will not connect. It works fine accessing Tomcat > using the same approach. But nothing with James. I'm using a PuTTY > tunnel directly to the Amazon EC2 instance. > > I went back to an absolute pristine install of JAMES 3.3.0 right out of > the downloaded zip file. I made absolutely zero changes to the > install/config. Just unpack and run. No JMX access with out-of-the-box > James either. JConsole hangs for about a minute, and gives me an error > that it can't connect. > > Then I made one change to log4j.properties and bumped everything to > DEBUG. Thankfully, the one log file that actually works in this release > is James-server.log. I see the following error when James is apparently > starting up JMX. The 172.31 IP address it's failing on is my EC2 > public IP. But the jmx.properties file says to connect to > 127.0.0.1:. I never explicitly configured the 172.31... address > anywhere in James. > > What's causing this: > > INFO 04:29:47,638 | > org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for > RMI registry at port '', using custom socket factory > DEBUG 04:29:47,642 | > org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry > access threw exception > java.rmi.ConnectException: Connection refused to host: 172.31.32.236; > nested exception is: > java.net.ConnectException: Connection refused (Connection refused) > at > sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) > at > sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) > at > sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) > at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) > at > sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.testRegistry(RmiRegistryFactoryBean.java:281) > > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:222) > > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:193) > > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:164) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) > > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) > > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) > > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) > > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191) > > at >
Re: JMX Access?
Sai, Thanks for the quick response. But in the latest 3.3.0 download, there is not a james.sh file. I've been using run.sh. There is a james-cli.sh. But I have not been using it. But both the run.sh and james-cli.sh files have those two parameters already specified in the JAVA command. So I don't think that could be what's wrong. Any idea what is causing the exception? And just out of curiosity, if you are on James 3.3.0, do any of the log files in the logs directory have any data in them? Even out of the box, with every log level set to DEBUG, for me the only file that doesn't have zero bytes is james-server-log. My bigger problem than JMX is that all of the logging data is being discarded. Jerry On 9/26/2019 12:21 AM, Saibabu Vallurupalli wrote: Hi Jerry, you need to add JVM options before starting the James server. See the two parameters below: Edit james.sh in vi editor or whichever you are comfortable with and then add "-Dcom.sun.management.jmxremote=true" and "-Dcom.sun.management.jmxremote.authenticate=false", see below the way how I did. case "$1" in start) echo Starting James nohup java -classpath "james-server-jpa-guice.jar:james-server-jpa-guice.lib/*:james-server-jpa-guice.lib" -javaagent:james-server-jpa-guice.lib/openjpa-3.0.0.jar -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dlogback.configurationFile=conf/logback.xml -Dworking.directory=. org.apache.james.JPAJamesServerMain > /dev/null 2>&1 & Do the same for restart) option too just in case if you restart you may loose JMX option. Then the JMX gets enabled. The script has issues, these parameters should be available by default. Hope this helps and you can meet your deadline now :-) Let me know how it goes. Thanks, Sai On Thu, Sep 26, 2019 at 1:11 AM Jerry Malcolm wrote: I figure if I keep asking questions, sooner or later I'm going to hit one that SOMEBODY can help me with The issues keep backing up. And my deadline is way too close Is anyone using James 3.3.0? Yet I'm the only one having these out-of-the-box problems? This migration has been an absolute nightmare. I still have absolutely NO way to see any logging data for the mailets, smtp, imap, etc logs. So I decided to use JMX to see if there were any MBeans exposed that might help me figure out why there is no logging. And, of course with the way everything else has gone, I can't connect to James JMX. JConsole will not connect. It works fine accessing Tomcat using the same approach. But nothing with James. I'm using a PuTTY tunnel directly to the Amazon EC2 instance. I went back to an absolute pristine install of JAMES 3.3.0 right out of the downloaded zip file. I made absolutely zero changes to the install/config. Just unpack and run. No JMX access with out-of-the-box James either. JConsole hangs for about a minute, and gives me an error that it can't connect. Then I made one change to log4j.properties and bumped everything to DEBUG. Thankfully, the one log file that actually works in this release is James-server.log. I see the following error when James is apparently starting up JMX. The 172.31 IP address it's failing on is my EC2 public IP. But the jmx.properties file says to connect to 127.0.0.1:. I never explicitly configured the 172.31... address anywhere in James. What's causing this: INFO 04:29:47,638 | org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for RMI registry at port '', using custom socket factory DEBUG 04:29:47,642 | org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry access threw exception java.rmi.ConnectException: Connection refused to host: 172.31.32.236; nested exception is: java.net.ConnectException: Connection refused (Connection refused) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) at sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.testRegistry(RmiRegistryFactoryBean.java:281) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:222) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:193) at org.springframework.remoting.rmi.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:164) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573) at
Re: JMX Access?
Hi Jerry, you need to add JVM options before starting the James server. See the two parameters below: Edit james.sh in vi editor or whichever you are comfortable with and then add "-Dcom.sun.management.jmxremote=true" and "-Dcom.sun.management.jmxremote.authenticate=false", see below the way how I did. case "$1" in start) echo Starting James nohup java -classpath "james-server-jpa-guice.jar:james-server-jpa-guice.lib/*:james-server-jpa-guice.lib" -javaagent:james-server-jpa-guice.lib/openjpa-3.0.0.jar -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dlogback.configurationFile=conf/logback.xml -Dworking.directory=. org.apache.james.JPAJamesServerMain > /dev/null 2>&1 & Do the same for restart) option too just in case if you restart you may loose JMX option. Then the JMX gets enabled. The script has issues, these parameters should be available by default. Hope this helps and you can meet your deadline now :-) Let me know how it goes. Thanks, Sai On Thu, Sep 26, 2019 at 1:11 AM Jerry Malcolm wrote: > > I figure if I keep asking questions, sooner or later I'm going to hit > one that SOMEBODY can help me with The issues keep backing up. And > my deadline is way too close Is anyone using James 3.3.0? Yet I'm > the only one having these out-of-the-box problems? This migration has > been an absolute nightmare. > > I still have absolutely NO way to see any logging data for the mailets, > smtp, imap, etc logs. So I decided to use JMX to see if there were any > MBeans exposed that might help me figure out why there is no logging. > And, of course with the way everything else has gone, I can't connect to > James JMX. JConsole will not connect. It works fine accessing Tomcat > using the same approach. But nothing with James. I'm using a PuTTY > tunnel directly to the Amazon EC2 instance. > > I went back to an absolute pristine install of JAMES 3.3.0 right out of > the downloaded zip file. I made absolutely zero changes to the > install/config. Just unpack and run. No JMX access with out-of-the-box > James either. JConsole hangs for about a minute, and gives me an error > that it can't connect. > > Then I made one change to log4j.properties and bumped everything to > DEBUG. Thankfully, the one log file that actually works in this release > is James-server.log. I see the following error when James is apparently > starting up JMX. The 172.31 IP address it's failing on is my EC2 > public IP. But the jmx.properties file says to connect to > 127.0.0.1:. I never explicitly configured the 172.31... address > anywhere in James. > > What's causing this: > > INFO 04:29:47,638 | > org.springframework.remoting.rmi.RmiRegistryFactoryBean | Looking for > RMI registry at port '', using custom socket factory > DEBUG 04:29:47,642 | > org.springframework.remoting.rmi.RmiRegistryFactoryBean | RMI registry > access threw exception > java.rmi.ConnectException: Connection refused to host: 172.31.32.236; > nested exception is: > java.net.ConnectException: Connection refused (Connection refused) > at > sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) > at > sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) > at > sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) > at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338) > at > sun.rmi.registry.RegistryImpl_Stub.list(RegistryImpl_Stub.java:85) > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.testRegistry(RmiRegistryFactoryBean.java:281) > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:222) > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.getRegistry(RmiRegistryFactoryBean.java:193) > at > org.springframework.remoting.rmi.RmiRegistryFactoryBean.afterPropertiesSet(RmiRegistryFactoryBean.java:164) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)