Re: [Resin-interest] Easing Development
Riccardo has it right - the easiest way to do this is to simply have a resin.xml for each webapp - and then just start resin using the resin.xml that is configured for the app you want to run. On 01/04/2013 07:31 AM, Rick Mann wrote: On Jan 4, 2013, at 0:53 , Riccardo Cohenr.co...@realty-property.com wrote: then you don't have to restart resin each time you want to change the application. I actually deliberately restart resin quite frequently. It doesn't pick up certain changes just reloading the class (for example, a Spring @Controller reload won't cause Spring to notice a new handler mapping). Add to that a persistent leak that causes resin to gobble up memory after a few app reloads, and it's best (for me) to restart resin frequently. Which is, more or less, orthogonal to easily switching configurations. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Session death in a cluster
As for #1, I have code in my SessionListener that first looks at the current thread and doesn't fire most of the work if it is the resin-destroy thread. This is a bit of a hack - anyone else find a cleaner way of handling this? thanks Eric On 11/19/2012 03:32 PM, Matthew Serrano wrote: I have a web application that creates a session for every user who logs in and also tracks logins/logouts in a database. When the user logs out or when the session is destroyed (using a SessionListener), I attempt to update the database with the session destruction time. I experience two problems in a clustered environment: 1. Shutting down one resin node in the cluster seems to kill the session on that server even though the session is transferred to the other resin server and remains available. So, in effect, we think users are logged out when they are still active on the second server. 2. My database shows that some sessions seem to stay alive for days even though there is clearly no activity on the session. For the first issue, is there a way to write my session listener so that it knows the difference between a real session death and a transfer to another clustered instance due to a shutdown? For the second issue, I found an interesting attribute on the session-config tag (http://www.caucho.com/resin-4.0/admin/clustering-ref.xtp#sessionconfig): invalidate-after-listener: If true, invalidate the sessions after the session listeners have been called The documentation doesn't specify a default. Is it possible Resin is invalidating the session before my listener has a chance to inspect it, thus the listener can't update the database because the it doesn't know the user information? What is odd is that most of time the database is updated appropriately. Anybody else track user login behavior in a clustered environment? Going to be writing a message queue analytics system that could also track this but for now direct db is too simple to drop, especially when it works most of the time. thanks matt ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Starting Services at Resin Startup
I think the cleanest solution is to use listeners... add a ServletContextListener inside of which you can start/do anything you need listener listener-classblah.blah.blah.ApplicationListener/listener-class /listener public class ApplicationListener implements ServletContextListener { . } On 10/12/2011 02:12 AM, Resin User wrote: There is a need for us to start few threads as soon as Resin starts up. Can someone guide us. We are using Resin 4.x -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road . Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] 4.0.20 - Problem with my HttpSessionListener
No one else does cleanup on session destory? No one else uses 4.0.20? On 09/02/2011 08:42 AM, Eric Kreiser wrote: Yes Resin is running with -Djava.system.class.loader=com.caucho.loader.SystemClassLoader. And yes, it does feel like a class loader issue... On 09/01/2011 04:42 PM, Paul Cowan wrote: On Aug 31, 2011, at 6:28 PM, Eric Kreiser wrote: I have a session listener that I use to clear out certain cached items etc... on session destroy (some items are in a database). I get a NameNotFoundException when trying to access any of my db connection pools if the Session Listener is being executed by SessionManager.handleAlarm() but things work fine if it is a by product of SessionManager.removeSession (like when a request thread calls invalidate on a session). I have the database nodes in the resin config under web-app, but it made no difference if I move them all the way up to the resin level. Any help would be appreciated. Hi Eric, This sounds like a classloader issue. Can you verify if Resin is running with -Djava.system.class.loader=com.caucho.loader.SystemClassLoader Thanks, Paul Thanks Eric S. Kreiser ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest === Paul Cowan, Software Engineer Caucho Technology co...@caucho.com mailto:co...@caucho.com http://blog.caucho.com http://twitter.com/cauchoresin -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road • Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road • Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] 4.0.20 - Problem with my HttpSessionListener
Yes Resin is running with -Djava.system.class.loader=com.caucho.loader.SystemClassLoader. And yes, it does feel like a class loader issue... On 09/01/2011 04:42 PM, Paul Cowan wrote: On Aug 31, 2011, at 6:28 PM, Eric Kreiser wrote: I have a session listener that I use to clear out certain cached items etc... on session destroy (some items are in a database). I get a NameNotFoundException when trying to access any of my db connection pools if the Session Listener is being executed by SessionManager.handleAlarm() but things work fine if it is a by product of SessionManager.removeSession (like when a request thread calls invalidate on a session). I have the database nodes in the resin config under web-app, but it made no difference if I move them all the way up to the resin level. Any help would be appreciated. Hi Eric, This sounds like a classloader issue. Can you verify if Resin is running with -Djava.system.class.loader=com.caucho.loader.SystemClassLoader Thanks, Paul Thanks Eric S. Kreiser ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest === Paul Cowan, Software Engineer Caucho Technology co...@caucho.com mailto:co...@caucho.com http://blog.caucho.com http://twitter.com/cauchoresin -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road . Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] 4.0.20 - Problem with my HttpSessionListener
I have a session listener that I use to clear out certain cached items etc... on session destroy (some items are in a database). I get a NameNotFoundException when trying to access any of my db connection pools if the Session Listener is being executed by SessionManager.handleAlarm() but things work fine if it is a by product of SessionManager.removeSession (like when a request thread calls invalidate on a session). I have the database nodes in the resin config under web-app, but it made no difference if I move them all the way up to the resin level. Any help would be appreciated. Thanks Eric S. Kreiser ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
any plan for when 4.0.20 will be available? On 07/12/2011 06:47 PM, Scott Ferguson wrote: This appears to be a timing-related issue with the non-sticky sessions. 4.0.20 will have a fix. -- Scott On 07/07/2011 04:17 PM, Eric Kreiser wrote: On 07/07/2011 07:02 PM, Scott Ferguson wrote: On 07/07/2011 03:51 PM, Eric Kreiser wrote: I am having trouble getting resin-admin running inside my servers... is there another way I can verify that the servers can see each other? JMX or something? The resin-admin is the easiest. If you look at the logs (at the finer level), you should see something like: [11-07-07 15:30:14.378] {main} JvmDeadlockHealthCheck[OK:OK] [11-07-07 15:30:14.381] {main} MemoryTenuredHealthCheck[OK:87.63% free (627.312M free, 715.850M max, 88.538M used)] ... [11-07-07 15:30:14.383] {main} HeartbeatHealthCheck[OK:OK] You can look at JMX under the ClusterServer bean and look for the isHeartbeatActive() and LastHeartbeatTime(). -- Scott using JMX to look at both servers... the HeartbeatActive=true and the LastHeartbeatTime is getting updated as well On 07/07/2011 05:01 PM, Scott Ferguson wrote: On 07/07/2011 01:37 PM, Eric Kreiser wrote: I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? That looks fine. In the /resin-admin, do you see the servers able to connect to each other? (The health tab will show connection failures in the Resin|Heartbeat check and also the Heartbeat tab.) -- Scott thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road • Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road • Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
I've attached a few logs (I am running with 2 servers (server 'a' and 'b')... I have my logging configured a little differently - so not everything from resin go to my jvm log ) server-changing-session-attri_jvm.log === is from server a, when the request hit server a and server a changed a session attribute (so the session should have gotten pushed to server b but didn't) server-changing-session-attri_stdout.log === is from server a, when the request hit server a and server a changed a session attribute (so the session should have gotten pushed to server b but didn't) when-other-server-changes-session-attri.log === is from server a, when the request hit server b and server b changed a session attribute (so the session should have gotten pushed to server a but didn't) thanks Eric I've also attached a diff file of the 2 servers resin config files--- most of the differences are jvm-arg differences On 07/07/2011 07:29 PM, Scott Ferguson wrote: Can you create a log which include a servlet access that should replicate session data (at finer level) and mail me the jvm-xxx.log? -- Scott On 07/07/2011 04:17 PM, Eric Kreiser wrote: On 07/07/2011 07:02 PM, Scott Ferguson wrote: On 07/07/2011 03:51 PM, Eric Kreiser wrote: I am having trouble getting resin-admin running inside my servers... is there another way I can verify that the servers can see each other? JMX or something? The resin-admin is the easiest. If you look at the logs (at the finer level), you should see something like: [11-07-07 15:30:14.378] {main} JvmDeadlockHealthCheck[OK:OK] [11-07-07 15:30:14.381] {main} MemoryTenuredHealthCheck[OK:87.63% free (627.312M free, 715.850M max, 88.538M used)] ... [11-07-07 15:30:14.383] {main} HeartbeatHealthCheck[OK:OK] You can look at JMX under the ClusterServer bean and look for the isHeartbeatActive() and LastHeartbeatTime(). -- Scott using JMX to look at both servers... the HeartbeatActive=true and the LastHeartbeatTime is getting updated as well On 07/07/2011 05:01 PM, Scott Ferguson wrote: On 07/07/2011 01:37 PM, Eric Kreiser wrote: I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? That looks fine. In the /resin-admin, do you see the servers able to connect to each other? (The health tab will show connection failures in the Resin|Heartbeat check and also the Heartbeat tab.) -- Scott thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest 07-07 21:06:15.549 closing pool item from idle timeout:ManagedPoolItem[jdbc/devdb,5,ManagedConnectionImpl] 07-07 21:06:15.549 connection pool destroy ManagedPoolItem[jdbc/devdb,5,null] 07-07 21:06:15.549 destroy ManagedConnectionImpl[jdbc/devdb.d0.2] 07-07 21:06:15.771 closing pool item from idle timeout:ManagedPoolItem[jdbc/master,92,ManagedConnectionImpl] 07-07 21:06:15.771 connection pool destroy ManagedPoolItem[jdbc/master,92,null] 07-07 21:06:15.771 destroy ManagedConnectionImpl[jdbc/master.d0.29] 07-07 21:06:44.062 RMI Scheduler(0): wake up 07-07 21:06:44.062 RMI Scheduler(0): connection timeout expired 07-07 21:06:44.062 RMI Scheduler(0): close connection 07-07 21:06:44.071 RMI Scheduler(0): wake up 07-07 21:06:22.274 TcpSocketLink[id
[Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
I am having trouble getting resin-admin running inside my servers... is there another way I can verify that the servers can see each other? JMX or something? On 07/07/2011 05:01 PM, Scott Ferguson wrote: On 07/07/2011 01:37 PM, Eric Kreiser wrote: I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? That looks fine. In the /resin-admin, do you see the servers able to connect to each other? (The health tab will show connection failures in the Resin|Heartbeat check and also the Heartbeat tab.) -- Scott thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
spoke too soon... it does show ERROR on the heartbeat tab for the other server what is the next step it figure what is causing them to not be able to talk to each other? On 07/07/2011 06:51 PM, Eric Kreiser wrote: I am having trouble getting resin-admin running inside my servers... is there another way I can verify that the servers can see each other? JMX or something? On 07/07/2011 05:01 PM, Scott Ferguson wrote: On 07/07/2011 01:37 PM, Eric Kreiser wrote: I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? That looks fine. In the /resin-admin, do you see the servers able to connect to each other? (The health tab will show connection failures in the Resin|Heartbeat check and also the Heartbeat tab.) -- Scott thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road . Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
On 07/07/2011 07:02 PM, Scott Ferguson wrote: On 07/07/2011 03:51 PM, Eric Kreiser wrote: I am having trouble getting resin-admin running inside my servers... is there another way I can verify that the servers can see each other? JMX or something? The resin-admin is the easiest. If you look at the logs (at the finer level), you should see something like: [11-07-07 15:30:14.378] {main} JvmDeadlockHealthCheck[OK:OK] [11-07-07 15:30:14.381] {main} MemoryTenuredHealthCheck[OK:87.63% free (627.312M free, 715.850M max, 88.538M used)] ... [11-07-07 15:30:14.383] {main} HeartbeatHealthCheck[OK:OK] You can look at JMX under the ClusterServer bean and look for the isHeartbeatActive() and LastHeartbeatTime(). -- Scott using JMX to look at both servers... the HeartbeatActive=true and the LastHeartbeatTime is getting updated as well On 07/07/2011 05:01 PM, Scott Ferguson wrote: On 07/07/2011 01:37 PM, Eric Kreiser wrote: I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? That looks fine. In the /resin-admin, do you see the servers able to connect to each other? (The health tab will show connection failures in the Resin|Heartbeat check and also the Heartbeat tab.) -- Scott thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser* * * Senior Software Architect *M**z**inga** * 5095 Ritter Road . Mechanicsburg, PA 17055 --- *Call me:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* ekrei...@mzinga.com mailto:ekrei...@mzinga.com *Learn more:* http://mzinga.com/v/ekreiser/ *Follow Mzinga:* http://twitter.com/mzinga *Our Customer Experience Community:* http://community.omnisocial.mzinga.com/app/signon/ ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] How do I configure clustering so that it actually works with 4.0.15/4.0.18/4.0.19?
I've attached a few logs (I am running with 2 servers (server 'a' and 'b')... I have my logging configured a little differently - so not everything from resin go to my jvm log ) server-changing-session-attri_jvm.log === is from server a, when the request hit server a and server a changed a session attribute (so the session should have gotten pushed to server b but didn't) server-changing-session-attri_stdout.log === is from server a, when the request hit server a and server a changed a session attribute (so the session should have gotten pushed to server b but didn't) when-other-server-changes-session-attri.log === is from server a, when the request hit server b and server b changed a session attribute (so the session should have gotten pushed to server a but didn't) thanks Eric On 07/07/2011 07:29 PM, Scott Ferguson wrote: Can you create a log which include a servlet access that should replicate session data (at finer level) and mail me the jvm-xxx.log? -- Scott On 07/07/2011 04:17 PM, Eric Kreiser wrote: On 07/07/2011 07:02 PM, Scott Ferguson wrote: On 07/07/2011 03:51 PM, Eric Kreiser wrote: I am having trouble getting resin-admin running inside my servers... is there another way I can verify that the servers can see each other? JMX or something? The resin-admin is the easiest. If you look at the logs (at the finer level), you should see something like: [11-07-07 15:30:14.378] {main} JvmDeadlockHealthCheck[OK:OK] [11-07-07 15:30:14.381] {main} MemoryTenuredHealthCheck[OK:87.63% free (627.312M free, 715.850M max, 88.538M used)] ... [11-07-07 15:30:14.383] {main} HeartbeatHealthCheck[OK:OK] You can look at JMX under the ClusterServer bean and look for the isHeartbeatActive() and LastHeartbeatTime(). -- Scott using JMX to look at both servers... the HeartbeatActive=true and the LastHeartbeatTime is getting updated as well On 07/07/2011 05:01 PM, Scott Ferguson wrote: On 07/07/2011 01:37 PM, Eric Kreiser wrote: I have my resin conf all setup... my servers starting/running, but if I load balance... and don't use stickiness to servers... the session is not kept in sync between the servers. I am trying to test this all... so I am only running 2 servers - but both servers are configured as triads so that they should know about each other. They are running on the same machine(just with different ip/ports) - so I am not having network issues or anything. snippet below from my config cluster id=app-tier persistent-store type=cluster/ server id=a address=10.10.1.145 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.145/watchdog-address /server server id=b address=10.10.1.141 port=6803 bind-ports-after-startfalse/bind-ports-after-start watchdog-port6701/watchdog-port watchdog-address10.10.1.141/watchdog-address /server web-app-default session-config cookie-length=100 use-persistent-store=true session-timeout200/session-timeout always-load-session/ save-modebefore-headers/save-mode reuse-session-idfalse/reuse-session-id serialization-typejava/serialization-type always-save-sessiontrue/always-save-session /session-config /web-app-default /cluster what am I missing? That looks fine. In the /resin-admin, do you see the servers able to connect to each other? (The health tab will show connection failures in the Resin|Heartbeat check and also the Heartbeat tab.) -- Scott thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest 07-07 21:06:15.549 closing pool item from idle timeout:ManagedPoolItem[jdbc/devdb,5,ManagedConnectionImpl] 07-07 21:06:15.549 connection pool destroy ManagedPoolItem[jdbc/devdb,5,null] 07-07 21:06:15.549 destroy ManagedConnectionImpl[jdbc/devdb.d0.2] 07-07 21:06:15.771 closing pool item from idle timeout:ManagedPoolItem[jdbc/master,92,ManagedConnectionImpl] 07-07 21:06:15.771 connection pool destroy ManagedPoolItem[jdbc/master,92,null] 07-07 21:06:15.771 destroy ManagedConnectionImpl[jdbc/master.d0.29] 07-07 21:06:44.062 RMI Scheduler(0): wake up 07-07 21:06:44.062 RMI Scheduler(0): connection timeout expired 07-07 21:06:44.062 RMI Scheduler(0): close connection 07-07 21:06:44.071 RMI Scheduler(0): wake up 07-07 21:06:22.274 TcpSocketLink[id=15,a] starting connection TcpSocketLink[id=server://10.10.1.145:6803-15,server://10.10.1.145:6803,ACCEPT], total=6 07-07
Re: [Resin-interest] ResinPro 4.0.19 - Oracle support???
So I am attempting to get the servers working in clustered mode... it is not working... and if I turn logging up... I am getting all kinds of ClassNotFoundException's... it is looking for a number of Hessian classes that are not in any of the jars released with the resin download... 07-06 21:41:56.823 HmtpWriter[null] query AuthQuery[,SignedCredentials] {id: 1, to:null, from:baa.app-tier.admin.resin} 07-06 21:41:56.853 java.lang.ClassNotFoundException: com.caucho.hmtp.AuthQueryHessianSerializer at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at com.caucho.hessian.io.ContextSerializerFactory.getCustomSerializer(ContextSerializerFactory.java:190) at com.caucho.hessian.io.SerializerFactory.loadSerializer(SerializerFactory.java:266) at com.caucho.hessian.io.SerializerFactory.getSerializer(SerializerFactory.java:224) at com.caucho.hessian.io.SerializerFactory.getObjectSerializer(SerializerFactory.java:197) at com.caucho.hessian.io.Hessian2Output.writeObject(Hessian2Output.java:437) at com.caucho.hmtp.HmtpWriter.query(HmtpWriter.java:194) at com.caucho.hmtp.HmtpWebSocketWriter.query(HmtpWebSocketWriter.java:152) at com.caucho.cloud.bam.HmtpStream.authenticate(HmtpStream.java:167) at com.caucho.cloud.bam.HmtpStream.init(HmtpStream.java:137) at com.caucho.cloud.bam.HmtpStream.init(HmtpStream.java:78) at com.caucho.cloud.heartbeat.HeartbeatActor.openStream(HeartbeatActor.java:335) at com.caucho.cloud.heartbeat.HeartbeatActor.sendMessage(HeartbeatActor.java:288) at com.caucho.cloud.heartbeat.HeartbeatActor.sendHeartbeatMessage(HeartbeatActor.java:270) at com.caucho.cloud.heartbeat.HeartbeatActor.sendHeartbeat(HeartbeatActor.java:195) at com.caucho.cloud.heartbeat.HeartbeatActor.access$000(HeartbeatActor.java:62) at com.caucho.cloud.heartbeat.HeartbeatActor$HeartBeatSender.run(HeartbeatActor.java:417) at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) at com.caucho.env.thread.ResinThread.run(ResinThread.java:130) On 07/05/2011 09:44 AM, Eric Kreiser wrote: I've attached a stripped down resin.conf you wrote But the cluster store doesn't use jdbc. - BUT earlier in the thread you wrote The jdbc store in Resin 4.0 acts as a backup to the normal cluster store. which is it? how can things like persistent sessions work in a load balanced scenario if all servers are not pointing to the same DB? like I stated earlier in the thread - I haven't been using Resin's clustering setup... I have been relying on db persisted sessions to tie the server together... is this approach no longer valid with 4.0? Does Caucho intend to support Oracle? or do I need to stay on a earlier version until I can figure out what I am going to do? On 07/01/2011 11:41 AM, Scott Ferguson wrote: On 07/01/2011 07:57 AM, Eric Kreiser wrote: I changed my persistent-store type to be cluster instead of jdbc... but it still doesn't start because it still needs the new resin database tables... (which fail on create connecting to Oracle) But the cluster store doesn't use jdbc. It wouldn't even know about the Oracle database. What does that section of the resin.xml look like? -- Scott thoughts? Eric Kreiser On 06/27/2011 02:24 PM, Eric Kreiser wrote: the problem(I think) is that I don't use Resin's clustering... and rely on the db persistent sessions to handle bouncing between servers. On 06/27/2011 01:50 PM, Scott Ferguson wrote: On 06/27/2011 10:39 AM, Eric Kreiser wrote: I am trying to upgrade from 4.0.15 to 4.0.19. The server fails to start. For now, just set the persistent-store type=cluster instead of jdbc. The jdbc store in Resin 4.0 acts as a backup to the normal cluster store. -- Scott The problem is that it is trying to create the resin_data and resin_mnode database tables ... but the create table syntax is not valid for Oracle. -- 06-27 12:38
Re: [Resin-interest] ResinPro 4.0.19 - Oracle support???
I've attached a stripped down resin.conf you wrote But the cluster store doesn't use jdbc. - BUT earlier in the thread you wrote The jdbc store in Resin 4.0 acts as a backup to the normal cluster store. which is it? how can things like persistent sessions work in a load balanced scenario if all servers are not pointing to the same DB? like I stated earlier in the thread - I haven't been using Resin's clustering setup... I have been relying on db persisted sessions to tie the server together... is this approach no longer valid with 4.0? Does Caucho intend to support Oracle? or do I need to stay on a earlier version until I can figure out what I am going to do? On 07/01/2011 11:41 AM, Scott Ferguson wrote: On 07/01/2011 07:57 AM, Eric Kreiser wrote: I changed my persistent-store type to be cluster instead of jdbc... but it still doesn't start because it still needs the new resin database tables... (which fail on create connecting to Oracle) But the cluster store doesn't use jdbc. It wouldn't even know about the Oracle database. What does that section of the resin.xml look like? -- Scott thoughts? Eric Kreiser On 06/27/2011 02:24 PM, Eric Kreiser wrote: the problem(I think) is that I don't use Resin's clustering... and rely on the db persistent sessions to handle bouncing between servers. On 06/27/2011 01:50 PM, Scott Ferguson wrote: On 06/27/2011 10:39 AM, Eric Kreiser wrote: I am trying to upgrade from 4.0.15 to 4.0.19. The server fails to start. For now, just set the persistent-store type=cluster instead of jdbc. The jdbc store in Resin 4.0 acts as a backup to the normal cluster store. -- Scott The problem is that it is trying to create the resin_data and resin_mnode database tables ... but the create table syntax is not valid for Oracle. -- 06-27 12:38:29.146 JdbcMnodeStore[server] java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist 06-27 12:38:29.146 CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER) 06-27 12:38:29.149 [3ms] jdbc/versioncloud.d0.0.0:exn-executeUpdate(CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER)) - java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype 06-27 12:38:29.149 [0ms] jdbc/versioncloud.d0.0.0:close() 06-27 12:38:29.149 idle ManagedPoolItem[jdbc/versioncloud,0,ManagedConnectionImpl] 06-27 12:38:29.149 jdbc/versioncloud.d0.0:clearWarnings() 06-27 12:38:29.149 java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at com.caucho.distcache.cluster.ClusterDataBacking.init(ClusterDataBacking.java:89) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.createDataBacking(ClusterCacheManagerImpl.java:81) at com.caucho.server.distcache.AbstractCacheManager.start(AbstractCacheManager.java:1133) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.start(ClusterCacheManagerImpl.java:90) at com.caucho.env.distcache.DistCacheSystem.start(DistCacheSystem.java:110) at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:513) at com.caucho.env.service.ResinSystem.start(ResinSystem.java:481) at com.caucho.server.resin.Resin.start(Resin.java:999) at com.caucho.server.resin.Resin.initMain(Resin.java:1127) at com.caucho.server.resin.Resin.main(Resin.java:1426) Caused by: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395
Re: [Resin-interest] ResinPro 4.0.19 - Oracle support???
I changed my persistent-store type to be cluster instead of jdbc... but it still doesn't start because it still needs the new resin database tables... (which fail on create connecting to Oracle) thoughts? Eric Kreiser On 06/27/2011 02:24 PM, Eric Kreiser wrote: the problem(I think) is that I don't use Resin's clustering... and rely on the db persistent sessions to handle bouncing between servers. On 06/27/2011 01:50 PM, Scott Ferguson wrote: On 06/27/2011 10:39 AM, Eric Kreiser wrote: I am trying to upgrade from 4.0.15 to 4.0.19. The server fails to start. For now, just set the persistent-store type=cluster instead of jdbc. The jdbc store in Resin 4.0 acts as a backup to the normal cluster store. -- Scott The problem is that it is trying to create the resin_data and resin_mnode database tables ... but the create table syntax is not valid for Oracle. -- 06-27 12:38:29.146 JdbcMnodeStore[server] java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist 06-27 12:38:29.146 CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER) 06-27 12:38:29.149 [3ms] jdbc/versioncloud.d0.0.0:exn-executeUpdate(CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER)) - java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype 06-27 12:38:29.149 [0ms] jdbc/versioncloud.d0.0.0:close() 06-27 12:38:29.149 idle ManagedPoolItem[jdbc/versioncloud,0,ManagedConnectionImpl] 06-27 12:38:29.149 jdbc/versioncloud.d0.0:clearWarnings() 06-27 12:38:29.149 java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at com.caucho.distcache.cluster.ClusterDataBacking.init(ClusterDataBacking.java:89) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.createDataBacking(ClusterCacheManagerImpl.java:81) at com.caucho.server.distcache.AbstractCacheManager.start(AbstractCacheManager.java:1133) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.start(ClusterCacheManagerImpl.java:90) at com.caucho.env.distcache.DistCacheSystem.start(DistCacheSystem.java:110) at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:513) at com.caucho.env.service.ResinSystem.start(ResinSystem.java:481) at com.caucho.server.resin.Resin.start(Resin.java:999) at com.caucho.server.resin.Resin.initMain(Resin.java:1127) at com.caucho.server.resin.Resin.main(Resin.java:1426) Caused by: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1000) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307) at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1814) at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1779) at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate
[Resin-interest] ResinPro 4.0.19 - Oracle support???
I am trying to upgrade from 4.0.15 to 4.0.19. The server fails to start. The problem is that it is trying to create the resin_data and resin_mnode database tables ... but the create table syntax is not valid for Oracle. -- 06-27 12:38:29.146 JdbcMnodeStore[server] java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist 06-27 12:38:29.146 CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER) 06-27 12:38:29.149 [3ms] jdbc/versioncloud.d0.0.0:exn-executeUpdate(CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER)) - java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype 06-27 12:38:29.149 [0ms] jdbc/versioncloud.d0.0.0:close() 06-27 12:38:29.149 idle ManagedPoolItem[jdbc/versioncloud,0,ManagedConnectionImpl] 06-27 12:38:29.149 jdbc/versioncloud.d0.0:clearWarnings() 06-27 12:38:29.149 java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at com.caucho.distcache.cluster.ClusterDataBacking.init(ClusterDataBacking.java:89) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.createDataBacking(ClusterCacheManagerImpl.java:81) at com.caucho.server.distcache.AbstractCacheManager.start(AbstractCacheManager.java:1133) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.start(ClusterCacheManagerImpl.java:90) at com.caucho.env.distcache.DistCacheSystem.start(DistCacheSystem.java:110) at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:513) at com.caucho.env.service.ResinSystem.start(ResinSystem.java:481) at com.caucho.server.resin.Resin.start(Resin.java:999) at com.caucho.server.resin.Resin.initMain(Resin.java:1127) at com.caucho.server.resin.Resin.main(Resin.java:1426) Caused by: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1000) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307) at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1814) at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1779) at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:277) at com.caucho.sql.spy.SpyStatement.executeUpdate(SpyStatement.java:225) at com.caucho.sql.UserStatement.executeUpdate(UserStatement.java:230) at com.caucho.distcache.jdbc.JdbcMnodeStore.initDatabase(JdbcMnodeStore.java:256) at com.caucho.distcache.jdbc.JdbcMnodeStore.init(JdbcMnodeStore.java:196) at com.caucho.distcache.cluster.ClusterDataBacking.init(ClusterDataBacking.java:80) ... 9 more -- If I manually add the tables... the server starts... but I get errors. -- 06-27
Re: [Resin-interest] ResinPro 4.0.19 - Oracle support???
the problem(I think) is that I don't use Resin's clustering... and rely on the db persistent sessions to handle bouncing between servers. On 06/27/2011 01:50 PM, Scott Ferguson wrote: On 06/27/2011 10:39 AM, Eric Kreiser wrote: I am trying to upgrade from 4.0.15 to 4.0.19. The server fails to start. For now, just set the persistent-store type=cluster instead of jdbc. The jdbc store in Resin 4.0 acts as a backup to the normal cluster store. -- Scott The problem is that it is trying to create the resin_data and resin_mnode database tables ... but the create table syntax is not valid for Oracle. -- 06-27 12:38:29.146 JdbcMnodeStore[server] java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist 06-27 12:38:29.146 CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER) 06-27 12:38:29.149 [3ms] jdbc/versioncloud.d0.0.0:exn-executeUpdate(CREATE TABLE resin_mnode ( id CHAR(64) PRIMARY KEY, value CHAR(64), cache_id CHAR(64), expire_timeout BIGINT, idle_timeout BIGINT, lease_timeout BIGINT, local_read_timeout BIGINT, update_time BIGINT, item_version BIGINT, flags INTEGER, server_version INTEGER)) - java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype 06-27 12:38:29.149 [0ms] jdbc/versioncloud.d0.0.0:close() 06-27 12:38:29.149 idle ManagedPoolItem[jdbc/versioncloud,0,ManagedConnectionImpl] 06-27 12:38:29.149 jdbc/versioncloud.d0.0:clearWarnings() 06-27 12:38:29.149 java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at com.caucho.distcache.cluster.ClusterDataBacking.init(ClusterDataBacking.java:89) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.createDataBacking(ClusterCacheManagerImpl.java:81) at com.caucho.server.distcache.AbstractCacheManager.start(AbstractCacheManager.java:1133) at com.caucho.distcache.cluster.ClusterCacheManagerImpl.start(ClusterCacheManagerImpl.java:90) at com.caucho.env.distcache.DistCacheSystem.start(DistCacheSystem.java:110) at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:513) at com.caucho.env.service.ResinSystem.start(ResinSystem.java:481) at com.caucho.server.resin.Resin.start(Resin.java:999) at com.caucho.server.resin.Resin.initMain(Resin.java:1127) at com.caucho.server.resin.Resin.main(Resin.java:1426) Caused by: java.sql.SQLSyntaxErrorException: ORA-00902: invalid datatype at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:194) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1000) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307) at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1814) at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1779) at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:277) at com.caucho.sql.spy.SpyStatement.executeUpdate(SpyStatement.java:225) at com.caucho.sql.UserStatement.executeUpdate(UserStatement.java:230) at com.caucho.distcache.jdbc.JdbcMnodeStore.initDatabase
[Resin-interest] Question concerning sec:AdminAuthenticator with Resin4.0.14
(I am in the process and upgrading from resin 3.1.10 to 4.0.14) My server seems to starting and running great. My question comes when I stop it. I am getting the following in my watchdog-manager.log [2011/02/03 11:48:17.351] {http://10.10.1.141:6701-1} *HmtpServlet[WebApp[production/webapp/admin.resin/ROOT]] requires an active com.caucho.security.Authenticator because HMTP messaging requires authenticated login for security. In the resin.xml, add an sec:AdminAuthenticator* [2011/02/03 11:48:17.416] {resin-18} Watchdog received warning from Resin[1,pid=17178]: Resin shutdown from watchdog stop 'watchdog@admin.resin.caucho' [2011/02/03 11:48:18.039] {watchdog-lms} Watchdog detected close of Resin[lms,pid=17178] exit reason: normal exit (exit code=0) [2011/02/03 11:48:18.041] {resin-18} java.lang.RuntimeException: java.net.SocketException: Socket closed at com.caucho.hmtp.HmtpLinkWorker.run(HmtpLinkWorker.java:117) at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164) at com.caucho.env.thread.ResinThread.run(ResinThread.java:130) Caused by: java.net.SocketException: Socket closed at java.net.SocketInputStream.read(SocketInputStream.java:162) at java.net.SocketInputStream.read(SocketInputStream.java:182) at com.caucho.remote.websocket.WebSocketInputStream.startBinaryMessage(WebSocketInputStream.java:80) at com.caucho.hmtp.HmtpWebSocketReader.readPacket(HmtpWebSocketReader.java:63) at com.caucho.hmtp.HmtpLinkWorker.run(HmtpLinkWorker.java:114) ... 2 more [2011/02/03 11:48:18.041] {watchdog-lms} WatchdogChild[lms] stopped the thing is... I do have a sec:AdminAuthenticator node in my config. (Although to be honest... I am not really sure why I need it) the instance does seem to stop successfully (despite the SocketException), but I am not sure what is wrong with my config file (see snippet below) resin xmlns:admin=urn:java:com.caucho.admin xmlns:sec=urn:java:com.caucho.security xmlns:resin=http://caucho.com/ns/resin/core; xmlns=http://caucho.com/ns/resin; sec:AdminAuthenticator password-digest=none sec:user name=admin password=pa55w0rd/ /sec:AdminAuthenticator class-loader tree-loader path=/opt/resin/pro-4.0.14/lib/ tree-loader path=/opt/resin/pro-4.0.14/ext-lib/ /class-loader log-handler name= level=info path=stdout: timestamp=%m-%d %H:%M:%S.%s / logger name=com.caucho.java level=config/ logger name=com.caucho.loader level=config/ dependency-check-interval-1/dependency-check-interval cluster id=app-tier .. /cluster /resin thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Is Resin4 considered production stable?
It has been out for a while now, so I assume yes, but can't hurt to ask the question :-) Are there still major re-factoring efforts pending on the 4 series? thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] DB Persistent Sessions
No one else is using DB persisted session management??? Shouldn't these 2 numbers be logically in sync? Eric Kreiser wrote: I am running resin pro 3.1.6 with db persisted session. Can anyone help me understand the following data I am seeing? If I count the number of rows in the db in the persistent_session table and get the SessionActiveCount from JMX for my server, I get 2 different numbers. I believe it could make sense for the numbers to be different for instance after a restart... and java has not yet needed to load all the sessions back into memory... but in this case the rows in the DB would be more then the count returned by java. What I am seeing is the other way around. My numbers reported by JAVA are significantly higher then the number of rows I have persistently backing them. How could this be? Am I misunderstanding the expected behavior? thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road . Mechanicsburg, PA 17055 --- *Call my office:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ *Toll Free:* 800.869.5763 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] DB Persistent Sessions
I am running resin pro 3.1.6 with db persisted session. Can anyone help me understand the following data I am seeing? If I count the number of rows in the db in the persistent_session table and get the SessionActiveCount from JMX for my server, I get 2 different numbers. I believe it could make sense for the numbers to be different for instance after a restart... and java has not yet needed to load all the sessions back into memory... but in this case the rows in the DB would be more then the count returned by java. What I am seeing is the other way around. My numbers reported by JAVA are significantly higher then the number of rows I have persistently backing them. How could this be? Am I misunderstanding the expected behavior? thanks Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Question about SessionImpl Logging
Can anyone explain what this log message is trying to tell me? What triggers it? What should I do about it? [18:27:08.120]SessionImpl[abc0hfqSDgdsj_2WqEwYre3iHzZMfZbhNvCZQDk2EV9KGsC_EhF0McW2rasVM4rD8-tAVy0Kdup71uwvB1Keuf-iTx0UWUKA_aEI,] LRU while in use (use-count=1). Consider increasing session-count. -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road . Mechanicsburg, PA 17055 --- *Call my office:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ *Toll Free:* 800.869.5763 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Runtime creation of database connections pools
any information relative to newer resin versions... I need the ability to completely define a database pool at runtime in code... Scott Ferguson wrote: On Sep 24, 2007, at 7:36 AM, Eric Kreiser wrote: Should I take it from the silence from caucho... that this is not something they want to support? It's essentially http://bugs.caucho.com/view.php?id=1932 But I'm not exactly sure how we want to support it, and it's a little large of a change to fit into 3.1.3 . Currently, you can use com.caucho.sql.DatabaseManager.findDatabase(String driver, String url); which will give you a pooled DataSource, but it's not currently possible to set any configuration items (other than the driver and url, of course.) -- Scott I use resin connection pooling extensively (and am very happy with its performance), and am not really wanting to introduce another library into the mix if I can avoid it... Eric Kreiser wrote: Does resin support this... and if so... can someone point me in the right direction. If not... does anyone recommend another database connection pooling api which does support this? I have found myself in a situation where I need to create my database connection pools in code at runtime not based on the resin.conf. I want to be able to pool my connections, but there are too many potential database/user combinations to manage configuring all of them in the resin.conf. thanks in advance for any help you are able to supply. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Websphere?
Why are you looking to switch off of Resin? Personal thoughts... I have been using resin for years... I have had very few issues with it... it performs well... it is easy to setup and manage... it does everything I need from an app server... Haluk AKIN wrote: Hi, We are evaluating to switch our website from Resin to Websphere. I would appreciate if you could guide me to some comparisons between these two. Personal thoughts are welcome as well. Thanks, Haluk Akin -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road . Mechanicsburg, PA 17055 --- ***Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ *Toll Free:* 800.869.5763 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Websphere?
even *IF *that were true (which I doubt) there is more to choosing app server. do you really want to go with the company that designed java's date handling API's Haluk AKIN wrote: Thank you for your reply Eric. We were told that websphere has a better performance compared to Resin. I'm trying to find out if that is true. We have also switched to DB2 recently. So maybe it is possible IBM software could work better with IBM database? Thanks, Haluk *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On Behalf Of *Eric Kreiser *Sent:* Friday, June 27, 2008 11:48 AM *To:* General Discussion for the Resin application server *Subject:* Re: [Resin-interest] Websphere? Why are you looking to switch off of Resin? Personal thoughts... I have been using resin for years... I have had very few issues with it... it performs well... it is easy to setup and manage... it does everything I need from an app server... Haluk AKIN wrote: Hi, We are evaluating to switch our website from Resin to Websphere. I would appreciate if you could guide me to some comparisons between these two. Personal thoughts are welcome as well. Thanks, Haluk Akin -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road • Mechanicsburg, PA 17055 --- *Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ *Toll Free:* 800.869.5763 -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road • Mechanicsburg, PA 17055 --- *Call my office:* 717.458.9804 *Fax me:* 717.790.0401 *Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ *Toll Free:* 800.869.5763 ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] bind-ports-after-start doesn't work in the latest 3.1.snap
try to start my server using the following java -jar /blah/resin-pro-3.1.s080426/lib/resin.jar -resin.home=/blah/resin-pro-3.1.s080426 -server dev -root-directory /blah/blah/blah -conf /blah/blah/blah/resin.conf start get the following error /blah/blah/blah/resin.conf:66: 'bind-ports-after-start' is an unknown property of 'com.caucho.boot.WatchdogConfig'. 64: 65: server id=dev address=10.10.1.140 port=6802 66: bind-ports-after-startfalse/bind-ports-after-start 67: watchdog-port6700/watchdog-port 68: watchdog-address10.10.1.140/watchdog-address -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road . Mechanicsburg, PA 17055 --- ***Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ ** ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] access_time for db persisted session
it is stored as a number in the db... what does this number represent? looking at the data in the table currently... it is in 20 million range Thanks -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road . Mechanicsburg, PA 17055 --- ***Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ ** ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] is there an ETA on the 3.1.6 release
just wondering what the plan is to have an official 3.1.6 release... there are a few things in there that I would like to roll into production... just trying to figure out timing relative to my release cycles Thanks Eric -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga** *5095 Ritter Road . Mechanicsburg, PA 17055 --- ***Email me:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Learn more:* http://mzinga.com/v/ekreiser/ ** ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Memory and slowdown...
well if you tell your JVM to log GC activity... you will be able to know what GC is doing jvm-arg-Xloggc:${server.root}/log/gc.log/jvm-arg jvm-arg-XX:+PrintGCTimeStamps/jvm-arg jvm-arg-XX:+PrintGCDetails/jvm-arg Andrew Fritz wrote: Oh, I'm not blaming the JVM. I'm sure it is working as designed. But, it sounds like you are sure that GC is running. I'll look into the hibernate session and Quercus Env objects and see what the heap dump shows relative to them. Andrew Scott Ferguson wrote: On Apr 8, 2008, at 7:55 AM, Andrew Fritz wrote: Well, based on previous advice we are inspection both the profile and heap dump. Both point to a problem with one of our business objects (referenced previous: ShallowSongBO) so I implemented a simple instance counter on that object. There is a static variable. It is incremented in the constructor and decremented by finalize. Both are synchronized on the class ShallowSongBO so the counter should be thread safe. I simply print the count each time an instance is created of finalized. On my box and on production to start with the instance count is well behaved. It goes up for a while and then at some point it will fall off. On production, eventually it begins to ONLY increase and never go down. I suspect that other objects have the same problem, it is just that we load many many songs compared to other classes. In fact the heap dump shows that the object we load the second most is also hanging around. Good. That's the first step in tracking down the problem. It looks to me like garbage collection just stops at some point. Probably not. At this point in debugging, it's better to assume the JVM is running perfectly, no matter how temping it might be to blame it. :) Most likely, there's some reference somewhere to your ShallowSongBO that shouldn't exist. This is where a more sophisticated profiler would help tremendously, although it's still possible to track down. Some things to check: 1) is the number of Hibernate sessions expected, or is it larger than normal? If you see 1000s of sessions, then something is holding the sessions beyond the end of the request, which are holding your object. 2) is the number of Quercus Env objects expected? Similarly, if something's holding the Env beyond the request, that might be either holding your object directly, or holding the Hibernate sessions (if this is happening, it might be a Quercus bug.) 3) etc, look for other containers, or things that should only have 1 object per request. If the number of those objects is significantly bigger than the number of requests, that's the place to start. You might want to use jvm-arg-Xrunhprof:heap=sites/jvm-arg. It'll give you similar information as Resin's heap dump, but might be more useful (although it's a bit more complicated to debug.) -- Scott As an experiment I've implemented a url that allows me to execute System.gc(); This is probably a placebo and should be needed but I'll know today or tonight if requesting garbage collection has any effect. I have to wait for the problem to manifest itself again some time later today or tonight to know if this will have any effect. Andrew Bill Au wrote: I would take some threads dump during heavy load to see what is going on. Jconsole with the JTop plug-in can show you the threads that are using the most CPU. Bill On Tue, Apr 8, 2008 at 12:06 AM, Knut Forkalsrud [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: On Apr 7, 2008, at 9:18 AM, Sandeep Ghael wrote: jvm-arg-Xdebug/jvm-arg In my experience the debug switch sometimes causes the JVM to behave erratically under heavy load. I would get rid of it and try again. -Knut ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- *Eric S. Kreiser** *Senior Software Architect *M**z**inga**
[Resin-interest] Managing separate watchdog processes in 3.1.5
Is there a way to specify what IP the watchdog-port will bind to? I want to be able to have a number of sites/instances of resin running on a machine I want all of them to run independent of each other so to keep them independent, I need to specify a watchdog-port... but if I do... it binds to the main ip of the machine... so in my scenario, I would need to assign each resin instance a unique port number. Is there a better way for me to handle this? Thanks Eric Kreiser ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Calling a JSP on Start Up (like load-on-startup)
what are you trying to do? I would think you would be coding startup type processes in a ServletContextListener not in Servlet's or JSP's Aaron Freeman wrote: Is there any way to have Resin call a JSP when it first fires up, similar to how you can call a servlet: I saw somebody doing this with Resin 2.x, but it doesn't do anything for Resin 3.0.22: servlet servlet-namelogin_jsp_sname/servlet-name jsp-file/login.jsp/jsp-file load-on-startup1/load-on-startup /servlet So I am guessing the jsp-file tag has been deprecated, but for the life of my I can't figure out how to get Resin to call a JSP on start up. Thanks, Aaron ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] jsp error
what version of resin are you running? are you not at least using a 1.5 JDK? atomi wrote: i keep getting these errors for any jsp file I call no matter whats in it. 500 Servlet Exception || -- 1. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 12) private static final java.util.HashMapString,java.lang.reflect.Method _jsp_functionMap = new java.util.HashMapString,java.lang.reflect.Method(); ^ The type HashMap is not generic; it cannot be parameterized with arguments String, Method -- 2. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 12) private static final java.util.HashMapString,java.lang.reflect.Method _jsp_functionMap = new java.util.HashMapString, java.lang.reflect.Method(); ^^^ Syntax error, parameterized types are only available if source level is 5.0 -- 3. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 12) private static final java.util.HashMapString,java.lang.reflect.Method _jsp_functionMap = new java.util.HashMapString,java.lang.reflect.Method(); ^ The type HashMap is not generic; it cannot be parameterized with arguments String, Method -- 4. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 12) private static final java.util.HashMapString,java.lang.reflect.Method _jsp_functionMap = new java.util.HashMapString,java.lang.reflect.Method(); ^^^ Syntax error, parameterized types are only available if source level is 5.0 -- 5. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 73) public java.util.HashMap String,java.lang.reflect.Method _caucho_getFunctionMap() ^ The type HashMap is not generic; it cannot be parameterized with arguments String, Method -- 6. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 73) public java.util.HashMapString,java.lang.reflect.Method _caucho_getFunctionMap() ^^^ Syntax error, parameterized types are only available if source level is 5.0 -- 7. ERROR in D:\Applications\workspace\toolbox\WEB-INF\work\_jsp\_test__jsp.java (at line 75) return _jsp_functionMap; _jsp_functionMap cannot be resolved -- 7 problems (7 errors) ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Control when the ports are bound
I seem to remember a post (that I can't seem to find)... which would allow a resin.conf config parameter to control when the http/srun ports are bound to and started... a way to say if this should happen immediately... or after the web-apps are all started Is there such a thing? ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Runtime creation of database connections pools
Should I take it from the silence from caucho... that this is not something they want to support? I use resin connection pooling extensively (and am very happy with its performance), and am not really wanting to introduce another library into the mix if I can avoid it... Eric Kreiser wrote: Does resin support this... and if so... can someone point me in the right direction. If not... does anyone recommend another database connection pooling api which does support this? I have found myself in a situation where I need to create my database connection pools in code at runtime not based on the resin.conf. I want to be able to pool my connections, but there are too many potential database/user combinations to manage configuring all of them in the resin.conf. thanks in advance for any help you are able to supply. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Runtime creation of database connections pools
Does resin support this... and if so... can someone point me in the right direction. If not... does anyone recommend another database connection pooling api which does support this? I have found myself in a situation where I need to create my database connection pools in code at runtime not based on the resin.conf. I want to be able to pool my connections, but there are too many potential database/user combinations to manage configuring all of them in the resin.conf. thanks in advance for any help you are able to supply. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Can't specify the -conf /path/resin.conf in the latest snapshot resin-pro-3.1.s070827
I just downloaded the latest snapshot to retest another issue I was having... and now can not specify my resin.conf on the command line startup... I get the following error unknown argument '/blahblahblah/resin.conf' usage: Resin [-conf resin.conf] [-server id] BUT... this only occurs if I start resin in the background... if I run it in the foreground, I can still specify my resin.conf on the command line ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Start up problem
Scott Ferguson wrote: On Aug 28, 2007, at 8:49 AM, Mike Wynholds wrote: This is an old bug report, but it sounds like it might be the cause: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206527 Centos is sort of a redhat derivative, right? anyway, assuming you are using JDK 5, you could try either a) upgrading to JDK 6 or b) disable IPv6. A workaround for RedHat-type users is to disable IPv6, by editing /etc/sysconfig/network and changing NETWORKING_IPV6=no. anyway, I have no idea if this is the actual issue. I just did a quick google search for java.net.BindException: Cannot assign requested address and came across this. It actually says it only happens when binding to the local address, but maybe that's what the watchdog process is doing?? That's interesting. Thanks for finding this. The Watchdog does bind to port localhost:6600. That's how the stop command works and how the Watchdog can manage multiple Resin JVMs with a single watchdog process. -- Scott Is this a bug? or going to be considered a bug? I am wondering how this would work if I started multiple Resin installations on the same machine? ..mike.. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony Zakula Sent: Friday, August 24, 2007 9:26 PM To: resin-interest@caucho.com Subject: [Resin-interest] Start up problem Hi, I have been trying to install and run resin on a Centos 5 system. I run it fine on Windows. Everything installs fine on Centos, but when I try to run the resin.jar file with all of the default configuration, I get the following error: Aug 24, 2007 11:26:39 AM com.caucho.boot.ResinWatchdog run INFO: java.net.BindException: Cannot assign requested address java.net.BindException: Cannot assign requested address at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359) at java.net.ServerSocket.bind(ServerSocket.java:319) at java.net.ServerSocket.init(ServerSocket.java:185) at com.caucho.boot.ResinWatchdog.run(ResinWatchdog.java:496) at java.lang.Thread.run(Thread.java:619) The server is behind a firewall with an ip address of 192.168.1.3, but I have an entry in the hosts file with the machine name and the ip address. Any help would be appreciated. Thanks! Tony ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Start up problem
Scott Ferguson wrote: On Aug 28, 2007, at 9:45 AM, Eric Kreiser wrote: That's interesting. Thanks for finding this. The Watchdog does bind to port localhost:6600. That's how the stop command works and how the Watchdog can manage multiple Resin JVMs with a single watchdog process. -- Scott Is this a bug? or going to be considered a bug? It's not a Resin bug. Binding to a local port is a capability of the JDK. We're certainly not going to work around a JDK bug that fundamental. -- Scott I don't follow. /Resin/ is binding the Watchdog process to 127.0.0.1:6600 right? And all that I am really concerned with is... how would/should I start multiple Resin servers on the same machine? How will this work if each is going to try to bind to 127.0.0.1:6600? I am wondering how this would work if I started multiple Resin installations on the same machine? ..mike.. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tony Zakula Sent: Friday, August 24, 2007 9:26 PM To: resin-interest@caucho.com Subject: [Resin-interest] Start up problem Hi, I have been trying to install and run resin on a Centos 5 system. I run it fine on Windows. Everything installs fine on Centos, but when I try to run the resin.jar file with all of the default configuration, I get the following error: Aug 24, 2007 11:26:39 AM com.caucho.boot.ResinWatchdog run INFO: java.net.BindException: Cannot assign requested address java.net.BindException: Cannot assign requested address at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359) at java.net.ServerSocket.bind(ServerSocket.java:319) at java.net.ServerSocket.(ServerSocket.java:185) at com.caucho.boot.ResinWatchdog.run(ResinWatchdog.java:496) at java.lang.Thread.run(Thread.java:619) The server is behind a firewall with an ip address of 192.168.1.3, but I have an entry in the hosts file with the machine name and the ip address. Any help would be appreciated. Thanks! Tony ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com mailto:resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest -- This message has been scanned for viruses and dangerous content by *MailScanner* http://www.mailscanner.info/, and is believed to be clean. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Debugging Resin Apps in/with Eclipse
I am on linux... but specifying the args in the resin.conf works great for me... the main difference is that prior to the resin 3.1.x series... the watchdog parent process was not java... and simply passed any arguments passed to it down to the child java process which was actually your application server. now in the 3.1.x series... the parent process is java as well as the child process... and the way to alter the child process is thru the resin.conf MORAWETZ Martin wrote: I use Resin on a windows machine. I tried both specifying the args in resin.conf and starting Resin with 'httpd.exe args'. Specifiying them in resin.conf results in: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:518) at java.net.Socket.connect(Socket.java:468) at java.net.Socket.init(Socket.java:365) at java.net.Socket.init(Socket.java:179) at com.caucho.server.resin.Resin.parseCommandLine(Resin.java:934) at com.caucho.server.resin.Resin.main(Resin.java:1341) Can't connect to parent process through socket 1976 Resin needs to connect to its parent. [Loaded java.util.IdentityHashMap$KeySet from C:\Programme\Java\jdk1.6.0_02\jre\ lib\rt.jar] [Loaded java.util.IdentityHashMap$IdentityHashMapIterator from C:\Programme\Java \jdk1.6.0_02\jre\lib\rt.jar] [Loaded java.util.IdentityHashMap$KeyIterator from C:\Programme\Java\jdk1.6.0_02 \jre\lib\rt.jar] [Loaded java.io.DeleteOnExitHook from C:\Programme\Java\jdk1.6.0_02\jre\lib\rt.j ar] Resin doesn't start up. Starting httpd.exe with the args C:\Programme\resin\httpd.exe -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345 -server a causes Resin to start up correctly saying Listening for transport dt_socket at address: 12345 Resin Professional 3.1.2 (built Wed, 18 Jul 2007 11:30:06 PDT) Copyright(c) 1998-2007 Caucho Technology. All rights reserved. : : As I wrote before, partly it works, because I can see the Resin Threads in the Eclipse Debug perspective. Interesting thow that specifying the arguments in the resin.conf and with httpd.exe behaves that different. Regards Martin -Ursprüngliche Nachricht- *Von:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *Im Auftrag von *Shane Cruz *Gesendet:* Dienstag, 14. August 2007 14:36 *An:* General Discussion for the Resin application server *Betreff:* Re: [Resin-interest] Debugging Resin Apps in/with Eclipse How are you passing the arguments to the JVM? In Resin 3.0, that was done with specifying args in httpd.sh. In Resin 3.1 you need to specify the arguments in resin.conf as shown here: http://www.caucho.com/resin-3.1/doc/server-tags.xtp#jvm-arg Shane *From:* [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] *On Behalf Of *MORAWETZ Martin *Sent:* Tuesday, August 14, 2007 7:09 AM *To:* General Discussion for the Resin application server *Subject:* [Resin-interest] Debugging Resin Apps in/with Eclipse Hi, I had two approaches to debug Resin Apps within Eclipse which worked for me perfectly with Resin 3.0.x. However with Resin 3.1.2 I can't get them to work. The first approach was to start Resin with the arguments -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345 and have in Eclipse Resin as Remote Application configured (Run - Debug - Remote Application), connection Type Socket. The second approach was to start Resin in Eclipse having Resin configured as 'Java Application'. To switch from Resin 3.0.x to Resin 3.1.2 I just had to change the classpath and change the main class from 'com.caucho.server.http.ResinServer' to 'com.caucho.boot.ResinBoot' (I guess). Both approaches show the same result with Resin 3.1.2. I see the Resin threads in the debug perspective as usual, I'm able to run the application, but Breakpoints don't get recognized hence I'm not able to debug. Any Ideas? Regards Martin Diese E-Mail sowie jeglicher Anhang sind vertraulich und ausschließlich für den/die bezeichneten Adressaten bestimmt. Diese Mitteilung kann rechtlich geschützte, firmeninterne oder anderweitig vertrauliche Informationen enthalten, deren Weitergabe ohne unsere Zustimmung strengstens untersagt ist. Sofern Sie nicht der beabsichtigte Adressat sind oder diese E-Mail irrtümlich erhalten haben, sind Sie nicht autorisiert, diese Mitteilung bekanntzumachen, zu
Re: [Resin-interest] Problem setting LD_LIBRARY_PATH with resin 3.1.2
Is anyone successfully running Resin 3.1.x with oracle connection pools? Every time I start resin in the background it `eats` my ld_library_path. I have tracked it down in resin code to the com.caucho.boot.ResinWatchdog class... what seems to be happening is ---I set the ld_library_path in the shell script which launches resin ---at lines 365 -to- 367, launchManager method... the ld_library_path is explicitly overwritten and set to the value resin want ---at lines 713 -to- 728, createProcess method... the ld_library_path is appended to, but this occurs after the launchManager method... so the values I need in there are already gone I am sure the issue is far more complicated then I realize, but, everything works for me if... ---alter the launchManager method to append to the ld_library_path instead of overwriting it ---and alter the createProcess method to not do anything with the ld_library_path I also tried to set my ld_library_path by way of setting the java.library.path as a jvm-arg in the resin.conf... this does not work either. Short of altering caucho code... I can't get resin to see my oracle client environment... is there another way to configure/control this... or is this a bug in 3.1.2 (I did also try this in the 3.1.snapshot... it didn't work there either) (It works to copy the required .so files in the resin/libexec directory... but this feels like a hack) Eric Kreiser wrote: I am trying to upgrade from resin pro 3.0.21 to resin pro 3.1.2. Under resin 3.0.21 I set certain environment variable in my start script before starting resin (things to setup my oracle client like PATH, LD_LIBRARY_PATH, etc...) Now under 3.1.2... I am trying to set these same environment variable in the start script before starting resin... ---This works fine if I start resin in the foreground ---This fails if I start resin in the background... all environment variable settings are being passed to the child process and set correctly ```except``` LD_LIBRARY_PATH. my child process's LD_LIBRARY_PATH always ends up being just the Java and resin paths. What am I doing wrong? How do I control the child LD_LIBRARY_PATH? Thanks in advance for any help Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
[Resin-interest] Problem setting LD_LIBRARY_PATH with resin 3.1.2
I am trying to upgrade from resin pro 3.0.21 to resin pro 3.1.2. Under resin 3.0.21 I set certain environment variable in my start script before starting resin (things to setup my oracle client like PATH, LD_LIBRARY_PATH, etc...) Now under 3.1.2... I am trying to set these same environment variable in the start script before starting resin... ---This works fine if I start resin in the foreground ---This fails if I start resin in the background... all environment variable settings are being passed to the child process and set correctly ```except``` LD_LIBRARY_PATH. my child process's LD_LIBRARY_PATH always ends up being just the Java and resin paths. What am I doing wrong? How do I control the child LD_LIBRARY_PATH? Thanks in advance for any help Eric ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] run resin 3.1 pro with java 1.4?
If you are testing and evaluating a new middleware server... why wouldn't you also want to take advantage of the great new advancements and features in the newer JDK's? MORAWETZ Martin wrote: Hi, Is it possible to run resin 3.1 pro with java 1.4? I'm evaluating resin 3.1.0 pro and get: Exception in thread main java.lang.UnsupportedClassVersionError: com/caucho/boot/ResinBoot (Unsupported major.minor version 49.0) at resin startup (Resin starts without any problem with java 1.5). Regards, Martin -- This message has been scanned for viruses and dangerous content by *MailScanner* http://www.mailscanner.info/, and is believed to be clean. Diese E-Mail sowie jeglicher Anhang sind vertraulich und ausschließlich für den/die bezeichneten Adressaten bestimmt. Diese Mitteilung kann rechtlich geschützte, firmeninterne oder anderweitig vertrauliche Informationen enthalten, deren Weitergabe ohne unsere Zustimmung strengstens untersagt ist. Sofern Sie nicht der beabsichtigte Adressat sind oder diese E-Mail irrtümlich erhalten haben, sind Sie nicht autorisiert, diese Mitteilung bekanntzumachen, zu kopieren, weiterzugeben oder aufzubewahren. Bitte informieren Sie uns in diesem Fall unverzüglich und vernichten diese E-Mail. Diese Fußnote dient auch der Bestätigung darüber, daß diese E-Mail automatisch auf Computerviren, anstößige Inhalte und Einwahlprogramme gescannt wurde. The information in this e-mail and in any attachments is confidential and intended solely for the attention and use of the named addressee(s). This information may be subject to legal, professional or other privilege and further distribution of it is strictly prohibited without our authority. If you are not the intended recipient, you are not authorised to and must not disclose, copy, distribute, or retain this message or any part of it, and should notify us immediately. This footnote also confirms that this email has been automatically scanned for the presence of computer viruses, profanities and certain file types. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest
Re: [Resin-interest] Question on db based distributed session
what are your specific session settings? does resin know about your load balanced cluster? or are you managing the load balancer outside of resin and using resin to tie them together thru the db persistence? are you using 'always-load-session? Jacky wrote: Dear all, I have implemented resin's distributed session along with apache. Apache is the entry point, which will use mod_caucho plugin to dispatch requests to resin. Now it is working fine and i'm happy about it. After a few test run on this, i found out something which i'm not sure if its my implementation problem or bug. I have server A and server B running resin on default srun port 6802. Unhappy case 1: 1. I start server A and login to my application 2. I stop Server A and start Server B 3. I continue to work in the browser, my session stays intact and i can proceed normally 4. I stop Server B and start Server A 5. I continue to work in the browser, my session stays intact and i can proceed normally 6. I logout from my application and logout successfully cleared my session variables (notice this from app log) 7. I try to type a password protected page in the browser and i am forced to login 8. I stop Server A and start Server B 9. I try to type a password protected page in the browser and i *CAN ACCESS* the protected page Unhappy case 2: 1. I start server A and login to my application 2. I stop Server A and start Server B 3. I continue to work in the browser, my session stays intact and i can proceed normally 4. I logout from my application and logout successfully cleared my session variables (notice this from app log) 5. I stop Server B and start Server A 6. I try to type a password protected page in the browser and i *CAN ACCESS* the protected page So to sum it all up, if i login to Server A and try to log out in Server B, the session is still available to server A and not Server B. Does anyone here encounter this before? Thanks. -- Warm regards, Jacky Wong -- This message has been scanned for viruses and dangerous content by *MailScanner* http://www.mailscanner.info/, and is believed to be clean. ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest ___ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest