Apache Geronimo passes TCK test suite
The Apache Geronimo team is proud to announce that as of Wednesday, June 29, 2005 at 9:17:07.002 PM PDT Apache Geronimo passes the J2EE TCK 1.4.1a test suite. Congratulations to all and thanks for all the hard work. There is some remaining work to do, and the team - after several well deserved adult beverages - will continue working on our initial project goal, full J2EE certification. Thanks to the committers : Jan Bartel David Blevins Jeremy Boynes Simone Bordot Alan Cabrera Hiram Chirino Gianny D’Amour Mark DeLaFranier Jason Dillon Jeff Genender Jules Gosnell David Jencks Jacek Laskowski Geir Magnusson, Jr. Aaron Mulder Srinath Perera John Sisson Bruce Snyder James Strachan Davanum Srinivas Dain Sundstrom Greg Wilkins and everyone in the Apache Geronimo community.
[jira] Created: (GERONIMO-689) Cannot set MDB activation config maxSessions property
Cannot set MDB activation config maxSessions property - Key: GERONIMO-689 URL: http://issues.apache.org/jira/browse/GERONIMO-689 Project: Geronimo Type: Bug Versions: 1.0-M4 Reporter: Ivan Dubrov The following OpenEJB deployment descriptor: message-driven ejb-nameSomeMDB/ejb-name resource-adapter resource-linkSomeJMSResources/resource-link /resource-adapter activation-config activation-config-property activation-config-property-namemaxSessions/activation-config-property-name activation-config-property-value10/activation-config-property-value /activation-config-property activation-config-property activation-config-property-namedestinationType/activation-config-property-name activation-config-property-valuejavax.jms.Topic/activation-config-property-value /activation-config-property activation-config-property activation-config-property-namedestination/activation-config-property-name activation-config-property-valueSomeTopic/activation-config-property-value /activation-config-property /activation-config /message-driven causes the following exception during deployment: 13:30:45,587 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: obje ctName=geronimo.server:EJBModule=com.ibm.workdev.v1.ejb.jar,J2EEApplication=com/ibm/workdev/v1,J2EE Server=geronimo,j2eeType=JCAActivationSpec,name=Statistics java.lang.ClassCastException at org.activemq.ra.ActiveMQActivationSpec$$FastClassByCGLIB$$47bafc00.invoke(generated) at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.DynamicGBeanDelegate$Operation.invoke(DynamicGBeanDelegate.java :155) at org.apache.geronimo.gbean.DynamicGBeanDelegate.setAttribute(DynamicGBeanDelegate.java:130 ) at org.apache.geronimo.connector.ActivationSpecWrapper.setAttribute(ActivationSpecWrapper.ja va:118) at org.apache.geronimo.gbean.runtime.GBeanAttribute$DynamicSetterMethodInvoker.invoke(GBeanA ttribute.java:414) at org.apache.geronimo.gbean.runtime.GBeanAttribute.setValue(GBeanAttribute.java:387) at org.apache.geronimo.gbean.runtime.GBeanAttribute.inject(GBeanAttribute.java:318) at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:839) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState. java:328) Together with issue http://issues.apache.org/jira/browse/GERONIMO-688 this makes configuring MDB that listens to given topic not possible. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (GERONIMO-688) ActiveMQActivationSpec default maxSessions value reset to 0 by Geronimo
ActiveMQActivationSpec default maxSessions value reset to 0 by Geronimo --- Key: GERONIMO-688 URL: http://issues.apache.org/jira/browse/GERONIMO-688 Project: Geronimo Type: Bug Versions: 1.0-M4 Reporter: Ivan Dubrov The org.activemq.ra.ActiveMQActivationSpec sets its maxSessions property to the 10 by default, but during application deployment if maxSessions is not set manually, Geronimo GBeans runtime resets this value to the 0, making MDB beans not working. Here is the exception thrown during sending message to the topic: 13:24:04,749 WARN [TransportChannelSupport] No Packet found to match Receipt correlationId: 9 java.util.NoSuchElementException at java.util.LinkedList.remove(LinkedList.java:579) at java.util.LinkedList.removeFirst(LinkedList.java:131) at org.activemq.ra.ServerSessionPoolImpl.getExistingServerSession(ServerSessionPoolImpl.java :116) at org.activemq.ra.ServerSessionPoolImpl.getServerSession(ServerSessionPoolImpl.java:98) at org.activemq.ActiveMQConnectionConsumer.dispatchToSession(ActiveMQConnectionConsumer.java :154) at org.activemq.ActiveMQConnectionConsumer.dispatch(ActiveMQConnectionConsumer.java:116) at org.activemq.ActiveMQConnection.consume(ActiveMQConnection.java:937) at org.activemq.transport.TransportChannelSupport.doConsumePacket(TransportChannelSupport.ja va:374) at org.activemq.transport.TransportChannelSupport.doConsumePacket(TransportChannelSupport.ja va:368) at org.activemq.transport.tcp.TcpTransportChannel.run(TcpTransportChannel.java:310) at java.lang.Thread.run(Thread.java:534) The reason is that maxSessions = 0, and sessions list size = 0 too, so it tries to get existent session (as maximum size is reached) from the empty list. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: Apache Geronimo passes TCK test suite
Congratulations Geronimo team! well done!"Geir Magnusson Jr." [EMAIL PROTECTED] wrote: The Apache Geronimo team is proud to announce that as ofWednesday, June 29, 2005 at 9:17:07.002 PM PDTApache Geronimo passes the J2EE TCK 1.4.1a test suite.Congratulations to all and thanks for all the hard work.There is some remaining work to do, and the team - after several well deserved adult beverages - will continue working on our initial project goal, full J2EE certification.Thanks to the committers :Jan BartelDavid BlevinsJeremy BoynesSimone BordotAlan CabreraHiram ChirinoGianny DAmourMark DeLaFranierJason DillonJeff GenenderJules GosnellDavid JencksJacek LaskowskiGeir Magnusson, Jr.Aaron MulderSrinath PereraJohn SissonBruce SnyderJames StrachanDavanum SrinivasDain SundstromGreg Wilkinsand everyone in the Apache Geronimo community. Yahoo! Messenger NEW - crystal clear PC to PC calling worldwide with voicemail
Re: Apache Geronimo passes TCK test suite
On Wed, 29 Jun 2005, Geir Magnusson Jr. wrote: Jan Bartel David Blevins Jeremy Boynes Simone Bordot Alan Cabrera Hiram Chirino Gianny D?Amour Mark DeLaFranier Jason Dillon Jeff Genender Jules Gosnell David Jencks Jacek Laskowski Geir Magnusson, Jr. Aaron Mulder Srinath Perera John Sisson Bruce Snyder James Strachan Davanum Srinivas Dain Sundstrom Greg Wilkins and everyone in the Apache Geronimo community. Congratulations to all ! Dw.
Re: Apache Geronimo passes TCK test suite
Congratulations guys ! A work well done and a first and important step toward developer and user adoption. Stephane Geir Magnusson Jr. wrote: The Apache Geronimo team is proud to announce that as of Wednesday, June 29, 2005 at 9:17:07.002 PM PDT Apache Geronimo passes the J2EE TCK 1.4.1a test suite. Congratulations to all and thanks for all the hard work. There is some remaining work to do, and the team - after several well deserved adult beverages - will continue working on our initial project goal, full J2EE certification. Thanks to the committers : Jan Bartel David Blevins Jeremy Boynes Simone Bordot Alan Cabrera Hiram Chirino Gianny D’Amour Mark DeLaFranier Jason Dillon Jeff Genender Jules Gosnell David Jencks Jacek Laskowski Geir Magnusson, Jr. Aaron Mulder Srinath Perera John Sisson Bruce Snyder James Strachan Davanum Srinivas Dain Sundstrom Greg Wilkins and everyone in the Apache Geronimo community.
Re: Integration of Geronimo modules (Tx / JCA) in Spring
David, Thanks to your hints, we finally made work the transaction and connector modules of Geronimo with the support of JCA in Spring. Thanks a lot for your help!! Thierry I'll try to describe briefly what's going on here, but it's a somewhat complicated subject and I've probably forgotten a few details. The J2CA spec requires us to support the following (IMO ridiculous) scenario: call into EJB A with user x A acquires connection with login based on x (such as same name, or maybe some group name) On method exit, A does not close connection but keeps it call into EJB A with user y the connection saved in A must still be usable, but must now be attached to a physical connection based on y. In order to keep track of stuff like this, we have an InstanceContext. The (ejb, servlet, app client, ...) container framework is required to register the appropriate instance context with the ConnectionTrackingCoordinator before allowing the call into the instance object. This is done e.g. in the jetty module InstanceContextBeforeAfter and in openejb's ConnectionTrackingInterceptor. If you want to support holding connections open over method calls, you should find a way to install such an instance context before control gets to the implementation object. If not, lets talk about removing this requirement for use of the geronimo j2ca framework. Take a look at my blog: http://templth.blogspot.com/ ___ Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger Téléchargez cette version sur http://fr.messenger.yahoo.com
Re: Apache Geronimo passes TCK test suite
At 09:50 30/06/2005, Stephane Bailliez wrote: Congratulations guys ! A work well done and a first and important step toward developer and user adoption. Good job! Congratulations guys. Stephane Geir Magnusson Jr. wrote: The Apache Geronimo team is proud to announce that as of Wednesday, June 29, 2005 at 9:17:07.002 PM PDT Apache Geronimo passes the J2EE TCK 1.4.1a test suite. Congratulations to all and thanks for all the hard work. There is some remaining work to do, and the team - after several well deserved adult beverages - will continue working on our initial project goal, full J2EE certification. Thanks to the committers : Jan Bartel David Blevins Jeremy Boynes Simone Bordot Alan Cabrera Hiram Chirino Gianny DAmour Mark DeLaFranier Jason Dillon Jeff Genender Jules Gosnell David Jencks Jacek Laskowski Geir Magnusson, Jr. Aaron Mulder Srinath Perera John Sisson Bruce Snyder James Strachan Davanum Srinivas Dain Sundstrom Greg Wilkins and everyone in the Apache Geronimo community. François LETELLIER INRIA Rhône-Alpes - ObjectWeb Consortium Executive Committee email: francois.letellier at objectweb.org - cell: +33 (0)6 84 64 00 24 - Skype: francois.letellier blog: http://os3g.blogspot.com/ ObjectWeb: http://www.objectweb.org
Newbie help : Debugging/Running modules in Eclipse
Hi, I have set up projects for Geronimo modules in eclipse. I am not clear how to try out the modules like ( Kernel, Axis-Builder, Mail, Security... ). Can anyone tell me how to run/debug these modules in Dev environment. Regards BK
Re: Newbie help : Debugging/Running modules in Eclipse
Well you need to set up a configuration to debug the server. There are a few issues from a development standpoint that are still yet to be resolved, but for invoking the server in debug mode through Eclipse, I was able to do. I created a run/debug configuration for both the Server and the Deployer as a Java Application. I added the server.jar and the deployer.jar to the classpath for each of the configurations respectively. On the first break point, the debugger will kick in but won't resolve the source, which can be easily fixed by simply adding all the projects in the workspace to the source lookup path. I haven't played with it further to see if the way I did it would lead to further problems when running other services (modules), but I was atleast able to trace through the starting of the server. I would assume from then you could run specific scenarios that invoke modules/area's of code you wanted to step through. Currently the .classpath entries reference dependent modules from the repository, rather then the imported project(s). So if you make code changes this will get you out of sync, unless you update the repository as well. So there are two paths for this solution, to either reference the dependent projects at a higher sort order, or after every build, ensure that the jars in the repository are in-sync. I'm currently looking into resolving this issue, either through using the mavenide plugin or providing a custom solution so that Eclipse can be easily configured to develop and debug Geronimo. Any ideas or help we would all appreciate! Thanks. Sachin Patel. On 6/30/05, Krishnakumar B [EMAIL PROTECTED] wrote: Hi, I have set up projects for Geronimo modules in eclipse. I am not clear how to try out the modules like ( Kernel, Axis-Builder, Mail, Security... ). Can anyone tell me how to run/debug these modules in Dev environment. Regards BK
Re: Apache Geronimo passes TCK test suite
On Wed, Jun 29, 2005 at 11:02:56PM -0700, Geir Magnusson Jr. wrote: Apache Geronimo passes the J2EE TCK 1.4.1a test suite. That's *awesome*! Congratulations!
RE: Apache Geronimo passes TCK test suite
Congratulations all. Although the process of doing this was very secretive, I'm sure there was a lot of hard work involved beyond the norm or working on an open source project. Take care, Jeremy -Original Message- From: Geir Magnusson Jr. [mailto:[EMAIL PROTECTED] Sent: Thursday, June 30, 2005 12:05 AM To: dev@geronimo.apache.org Subject: Apache Geronimo passes TCK test suite The Apache Geronimo team is proud to announce that as of Wednesday, June 29, 2005 at 9:17:07.002 PM PDT Apache Geronimo passes the J2EE TCK 1.4.1a test suite. Congratulations to all and thanks for all the hard work. There is some remaining work to do, and the team - after several well deserved adult beverages - will continue working on our initial project goal, full J2EE certification. Thanks to the committers : Jan Bartel David Blevins Jeremy Boynes Simone Bordot Alan Cabrera Hiram Chirino Gianny D'Amour Mark DeLaFranier Jason Dillon Jeff Genender Jules Gosnell David Jencks Jacek Laskowski Geir Magnusson, Jr. Aaron Mulder Srinath Perera John Sisson Bruce Snyder James Strachan Davanum Srinivas Dain Sundstrom Greg Wilkins and everyone in the Apache Geronimo community. _ This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. application/ms-tnef
Re: So I'm working on...
On 6/28/2005 10:04 PM, Aaron Mulder wrote: It seems that we've been bitten to some degree by people who are working on things without telling anyone. I've heard of people working on the Gluecode management console (in case it is contributed to Apache and/or Geronimo), and someone recently posted a Jira issue (I think) saying that they've put toegther a prototype directory-scanning hot deployer. Dain worked on a revised kernel off on his own for a while. I'm guilty of this to at least some degree too. Who knows how many other people are hard at work out there. So I'm starting this thread to talk about what I've been working out on the side. I hope that anyone else with a pet project will step forward. It seems that it would be better for all of us if there was more discussion before things came to the donation or integration phase. It's a lot easier to make any necessary adjustments (or secure assistance) in the conceptual phase than in the pile of contributed code phase. Anyway, I've been fooling with a JSR-88 configuration tool. It includes DDBeans, and a facility for dynamically generating a UI to edit the DDBeans and DConfigBeans -- in other words, the J2EE deployment descriptors and server-specific deployment plans. One of the reasons it's still private is that I'm not all that confident of the approach. I've got an XML file that describes the GUI, and then some code that builds a Swing GUI from that descriptor. It's built in such a way that you could build a web (or CLI) GUI off the same descriptor, and it has plumbing for generating dynamic UIs for the DConfigBeans. It seems like a clever approach, but I'm not sure there's really a need to support multiple UIs, and I'm also not sure the world needs another XML format for describing GUIs. (I did go to a JavaOne session on this today, but it only covered formats that are tied to Swing only, with XML tags for individual swing widgets, which is not what I'm looking for.) Also, at the end of the day, I think the tool should have a fixed editor GUI for each J2EE descriptor, and only be dynamic for the DConfigBeans. Being fully dynamic is not really as usable, it seems. On the other hand, the tool is useful right now to verify that DConfigBeans are working right. If other people are interested in looking at / working on / using this tool, I'll go ahead and check it in. I'd certainly appreciate help and input. It would be fantastic if someone would work on the Web or command-line UI generation part of it, so it would have more than one working UI output. This would have been better placed on a wiki, imo. Regards, Alan
Thanks IBM and BEA
At JavaOne this year, both IBM and BEA announced their support for Geronimo. And that seems to be the tip of the iceberg, but of course it's a very substantial start! If you're interested in hearing what they had to say about Geronimo, you can view the JavaOne general session webcasts: http://wcdata.sun.com/webcast/archives/VIP-1981/ The sessions are indexed on that page by time; the BEA session was Monday at 1:15, and the IBM session was Wednesday at 5:15. Aaron
New Feature Idea
Title: Message
Re: ThreadPool GBean
Tyagi, Rahul wrote: David J., I was looking for implementing WorkManager API (JSR-237) using current geronimo ThreadPool infrastructure . I think current version of geronimo allow to define only one ThreadPool gbean per JVM (Because GBEAN_INF is public static final). Which is fine, Just wanted to make sure that i am interpreting it right? No quite - the GBeanMetadata in GBEAN_INFO describes a class of GBean not a specific instance. Just as in plain Java there can be multiple instances of any GBean; the (persistent) instance data is stored in GBeanData objects. In this case we have to define WorkManager as new gbean and implement it to manage its own thread pool, Geronimo admin would have capability to configure multiple WorkManager gbean. I think there is a good case for a central work manager that can be used by anything seeking to have work done - not only the J2CA Connectors but also the EJB and web invokers, timers. It may be appropriate do this using the raw JSR-237 API, or we may want to have an internal SPI and then have the 237 implementation bridge to it. -- Jeremy
Re: IBM Starting a little Geronimo Doc Library...
On 6/29/2005 8:16 AM, Neal Sanche wrote: Hi All, I don't know if this has hit the radar yet, and this isn't a formal announcement or anything. In fact it's a little self-service because I've been involved in the project to some degree (as a writer), but have a look at the IBM Developerworks Geronimo library. http://www-128.ibm.com/developerworks/opensource/top-projects/geronimo.html I've been taking Geronimo out for a spin and have been able to get most of what I need done with it. Looking forward to delving a little deeper in the future as well. Great job guys! Cheers. -Neal Sweet. Can we put a link on our website to point to this? Regards, Alan
Clustering (long)
Guys, I thought that it was high time that I brought you up to date with my efforts in building a clustering layer for Geronimo. The project, wadi.codehaus.org, started as an effort to build a scalable clustered HttpSession implementation, but in doing this, I have built components that should be useful in clustering the state held in any tier of Geronimo e.g. OpenEJB SFSBs etc. WADI (Web Application Distribution Infrastructure) has two main elements - the vertical and the horizontal. Vertically, WADI comprises a stack of pluggable stores. Each store has a pluggable Evicter responsible for demoting aging Sessions downwards. Requests arriving at the container are fed into the top of the stack and progress downwards, until their corresponding Session is found and promoted to the top, where the request is correctly rendered in its presence. Typically the top-level store is in Memory. Aging Sessions are demoted downwards onto exclusively owned LocalDisc. The bottom-most store is a database shared between all nodes in the Cluster. The first node joining the Cluster promotes all Sessions from the database into exclusively-owned store - e.g. LocalDisc. The last node to leave the Cluster demotes all Sessions down back into the database. Horizontally, all nodes in a WADI Cluster are connected (p2p) via a Clustered Store component within this stack. This typically sits at the boundary between exclusive and shared Stores. As requests fall through the stack, looking for their corresponding Session they arrive at the Clustered store, where, if the Session is present anywhere in the Cluster, its location may be learnt. At this point, the Session may be migrated in, underneath the incoming request, or, if its current location is considered advantageous, the request may be proxied or redirected to its remote location. As a node leaves the Cluster, all its Sessions are evacuated to other nodes via this store, so that they may continue to be actively maintained. The space in which Session ids are allocated is divided into a fixed number of Buckets. This number should be large enough such that management of the Buckets may be divided between all nodes in the Cluster roughly evenly. As nodes leave and join the Cluster, a single node, the Coordinator, is responsible for re-Bucketing the Cluster - i.e. reorganising who manages which Buckets and ensuring the safe transfer of the minimum number of Buckets to implement the new layout. The Coordinator is elected via a Pluggable policy. If the Coordinator leaves or fails, a new one is elected. If a node leaves or joins, buckets emigrate from it or immigrate into it, under the control of the Coordinator, to/from the rest of the Cluster. A Session may be efficiently mapped to a Bucket by simply %-ing its ID's hashcode() by the number of Buckets in the Cluster. A Bucket is a map of SessionID:Location, kept up to date with the Location of every Session in the Cluster, of which the id falls into its space. i.e. as Sessions are created, destroyed or moved around the Cluster notifications are sent to the node managing the relevant Bucket, informing it of the change. In this way, if a node receives a request for a Session which it does not own locally, it may pass a message to it, in a maximum of typically two hops, by sending the message to the Bucket owner, who then does a local lookup of the Sessions actual location and forwards the message to it. If Session and Bucket can be colocated, this can reduced to a single hop. Thus, WADI provides a fixed and scalable substrate over the more fluid arrangement that Cluster membership comprises, on top of which further Clustered services may be built. The above functionality exists in WADI CVS and I am currently working on hardening it to the point that I would consider it production strength. I will then consider the addition of some form of state replication, so that, even with the catastrophic failure of a member node, no state is lost from the Cluster. I plan to begin integrating WADI with Geronimo as soon as a certified 1.0-based release starts to settle down. Certification is the most immediate goal and clustering is not really part of the spec, so I think it best to satisfy the first before starting on subsequent goals. Further down the road we need to consider the unification of session id spaces used by e.g. the web and ejb tiers and introduction of an ApplicationSession abstraction - an object which encapsulates all e.g. web and ejb sessions associated with a particular client talking to a particular application. This will allow WADI to maintain the colocation of associated state, whilst moving and replicating it around the Cluster. If anyone would like to know more about WADI, please feel free to ask me questions here on geronimo-dev or on wadi-dev. Thanks for listening, Jules
Deployment problem
Hello all I hope you can assist me with this problem, i am trying to deploy gps on gluecode-se but I recieve this error: Unknown attribute loginModuleConfiguration on gluecode-se.server:J2EEApplication=null,J2EEModule=com/gluecode/se/gps,J2EEServer=gluecode-se,j2eeType=SecurityRealm,name=gps-application-realm Here is my deployment discriptor: ?xml version=1.0 encoding=UTF-8? web-app xmlns=http://geronimo.apache.org/xml/ns/web/jetty configId=com/gluecode/se/gps parentId=com/gluecode/se/Standard/1.1 dependency urigluecode-portal/jars/pluto-container-GLUECODESE-1.0.jar/uri /dependency dependency uridom4j/jars/dom4j-1.5-rc1.jar/uri /dependency dependency urijetspeed2/jars/jetspeed-api-2.0-M1.jar/uri /dependency dependency urijetspeed2/jars/jetspeed-commons-2.0-M1.jar/uri /dependency dependency uriportals-bridges/jars/portals-bridges-common-0.1.jar/uri /dependency context-root/gluecode/context-root context-priority-classloaderfalse/context-priority-classloader security-realm-namegps-application-realm/security-realm-name security default-principal realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal name=admin/ /default-principal role-mappings role role-name=admin realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=admin designated-run-as=true/ /realm /role role role-name=global-admin realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=global-admin designated-run-as=true/ /realm /role role role-name=bpp-admin realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=bpp-admin designated-run-as=true/ /realm /role role role-name=user realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=user designated-run-as=true/ /realm /role role role-name=customizer realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=customizer designated-run-as=true/ /realm /role role role-name=guest realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=guest designated-run-as=true/ /realm /role /role-mappings /security resource-ref xmlns=http://geronimo.apache.org/xml/ns/naming ref-namejdbc/jetspeed/ref-name resource-linkGPSDatasource/resource-link /resource-ref !-- Security implementation -- gbean name=gps-application-login class=org.apache.geronimo.security.jaas.LoginModuleGBean attribute name=loginModuleClassorg.apache.geronimo.security.realm.providers.SQLLoginModule/attribute attribute name=serverSidetrue/attribute attribute name=options userSelect=SELECT LOGIN_NAME, PASSWORD_VALUE FROM TURBINE_USER groupSelect=SELECT distinct tr.role_name,tu.login_name FROM turbine_user tu,turbine_role tr,turbine_user_group_role tgr WHERE tu.user_id=tgr.user_id AND tr.role_id=tgr.role_id jdbcURL=jdbc:hsqldb:hsql://localhost: jdbcUser=sa jdbcPassword= jdbcDriver=org.hsqldb.jdbcDriver /attribute attribute name=loginDomainNamegps-application-realm/attribute /gbean gbean name=gps-application-realm class=org.apache.geronimo.security.realm.GenericSecurityRealm attribute name=realmNamegps-application-realm/attribute attribute name=loginModuleConfiguration LoginModule.1.REQUIRED=gluecode-se.server:J2EEApplication=null,J2EEModule=com/gluecode/se/gps,J2EEServer=gluecode-se,j2eeType=LoginModule,name=gps-application-login /attribute reference name=ServerInfogbean-name.server:J2EEApplication=null,J2EEModule=com/gluecode/se/System/1.1,J2EEServer=gluecode-se,j2eeType=GBean,name=ServerInfo/gbean-name/reference /gbean gbean name=gpsJAAS class=org.apache.geronimo.security.jaas.ServerRealmConfigurationEntry attribute name=applicationConfigNamegpsJAAS/attribute attribute name=realmNamegps-application-realm/attribute /gbean !-- End of Security Implementation -- /web-app Any suggestions -
Re: Deployment problem
Leonard, Your last 3 gbeans are using the older format. Here's a descriptor from the docs, which you should be able to use to fix the problem !-- Derby Based Security Login Modules -- gbean name=gse-sql-login class=org.apache.geronimo.security.jaas.LoginModuleGBean attribute name=loginModuleClasscom.gluecode.joe.geronimo.security.realm.providers.JoeSQLLoginModule/attribute attribute name=serverSidetrue/attribute attribute name=optionsdatasourceName=joe.server:J2EEApplication=null,J2EEServer=joe,JCAResource=geronimo-derby-connector-1.0-r161238.rar,j2eeType=JCAManagedConnectionFactory,name=SystemDatasource /attribute attribute name=loginDomainNamejoe-sql-realm/attribute /gbean gbean name=gse-sql-realm class=org.apache.geronimo.security.realm.GenericSecurityRealm attribute name=realmNamegse-sql-realm/attribute reference name=LoginModuleConfiguration namegse-sql-login/name /reference reference name=ServerInfo moduleorg/apache/geronimo/System/module nameServerInfo/name /reference /gbean gbean name=gse1-sql-login class=org.apache.geronimo.security.jaas.JaasLoginModuleUse attribute name=controlFlagREQUIRED/attribute reference name=LoginModule namegse1-sql-login/name /reference /gbean Michael Malgeri Mgr Gluecode Client Technical Services PHONE: 310-536-8355 x 14 FAX: 310-536-9062 CELLULAR: 310-704-6403 Leonard Flournoy/Los Angeles/[EMAIL PROTECTED] 06/30/2005 04:26 PM Please respond to dev To dev@geronimo.apache.org cc Subject Deployment problem Hello all I hope you can assist me with this problem, i am trying to deploy gps on gluecode-se but I recieve this error: Unknown attribute loginModuleConfiguration on gluecode-se.server:J2EEApplication=null,J2EEModule=com/gluecode/se/gps,J2EEServer=gluecode-se,j2eeType=SecurityRealm,name=gps-application-realm Here is my deployment discriptor: ?xml version=1.0 encoding=UTF-8? web-app xmlns=http://geronimo.apache.org/xml/ns/web/jetty configId=com/gluecode/se/gps parentId=com/gluecode/se/Standard/1.1 dependency urigluecode-portal/jars/pluto-container-GLUECODESE-1.0.jar/uri /dependency dependency uridom4j/jars/dom4j-1.5-rc1.jar/uri /dependency dependency urijetspeed2/jars/jetspeed-api-2.0-M1.jar/uri /dependency dependency urijetspeed2/jars/jetspeed-commons-2.0-M1.jar/uri /dependency dependency uriportals-bridges/jars/portals-bridges-common-0.1.jar/uri /dependency context-root/gluecode/context-root context-priority-classloaderfalse/context-priority-classloader security-realm-namegps-application-realm/security-realm-name security default-principal realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal name=admin/ /default-principal role-mappings role role-name=admin realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=admin designated-run-as=true/ /realm /role role role-name=global-admin realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=global-admin designated-run-as=true/ /realm /role role role-name=bpp-admin realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=bpp-admin designated-run-as=true/ /realm /role role role-name=user realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=user designated-run-as=true/ /realm /role role role-name=customizer realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=customizer designated-run-as=true/ /realm /role role role-name=guest realm realm-name=gps-application-realm principal class=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal name=guest designated-run-as=true/ /realm /role /role-mappings /security resource-ref xmlns=http://geronimo.apache.org/xml/ns/naming ref-namejdbc/jetspeed/ref-name resource-linkGPSDatasource/resource-link /resource-ref !-- Security implementation -- gbean name=gps-application-login class=org.apache.geronimo.security.jaas.LoginModuleGBean attribute name=loginModuleClassorg.apache.geronimo.security.realm.providers.SQLLoginModule/attribute attribute name=serverSidetrue/attribute attribute name=options userSelect=SELECT LOGIN_NAME, PASSWORD_VALUE FROM TURBINE_USER groupSelect=SELECT distinct
Test Breakage
The tomcat-builder is getting a test failure in something related to web services. The openejb/core module is getting a test failure in something related to web services. Since we just got the big web services tests to pass, I assume this means our internal tests haven't kept up with the latest web services code changes. In any case, can someone look at these? Thanks, Aaron
Re: Deployment problem
yes I worked with Cata and was able to get the app deployed. Now there is a datasource issue because the app depends on GPSDatasource. getting closer. Thanks
Re: Clustering (long)
Jules, This is awesome stuff. I look forward to playing with this stuff in Geronimo. Let me know if you need a hand with something... Jeff Jules Gosnell wrote: Guys, I thought that it was high time that I brought you up to date with my efforts in building a clustering layer for Geronimo. The project, wadi.codehaus.org, started as an effort to build a scalable clustered HttpSession implementation, but in doing this, I have built components that should be useful in clustering the state held in any tier of Geronimo e.g. OpenEJB SFSBs etc. WADI (Web Application Distribution Infrastructure) has two main elements - the vertical and the horizontal. Vertically, WADI comprises a stack of pluggable stores. Each store has a pluggable Evicter responsible for demoting aging Sessions downwards. Requests arriving at the container are fed into the top of the stack and progress downwards, until their corresponding Session is found and promoted to the top, where the request is correctly rendered in its presence. Typically the top-level store is in Memory. Aging Sessions are demoted downwards onto exclusively owned LocalDisc. The bottom-most store is a database shared between all nodes in the Cluster. The first node joining the Cluster promotes all Sessions from the database into exclusively-owned store - e.g. LocalDisc. The last node to leave the Cluster demotes all Sessions down back into the database. Horizontally, all nodes in a WADI Cluster are connected (p2p) via a Clustered Store component within this stack. This typically sits at the boundary between exclusive and shared Stores. As requests fall through the stack, looking for their corresponding Session they arrive at the Clustered store, where, if the Session is present anywhere in the Cluster, its location may be learnt. At this point, the Session may be migrated in, underneath the incoming request, or, if its current location is considered advantageous, the request may be proxied or redirected to its remote location. As a node leaves the Cluster, all its Sessions are evacuated to other nodes via this store, so that they may continue to be actively maintained. The space in which Session ids are allocated is divided into a fixed number of Buckets. This number should be large enough such that management of the Buckets may be divided between all nodes in the Cluster roughly evenly. As nodes leave and join the Cluster, a single node, the Coordinator, is responsible for re-Bucketing the Cluster - i.e. reorganising who manages which Buckets and ensuring the safe transfer of the minimum number of Buckets to implement the new layout. The Coordinator is elected via a Pluggable policy. If the Coordinator leaves or fails, a new one is elected. If a node leaves or joins, buckets emigrate from it or immigrate into it, under the control of the Coordinator, to/from the rest of the Cluster. A Session may be efficiently mapped to a Bucket by simply %-ing its ID's hashcode() by the number of Buckets in the Cluster. A Bucket is a map of SessionID:Location, kept up to date with the Location of every Session in the Cluster, of which the id falls into its space. i.e. as Sessions are created, destroyed or moved around the Cluster notifications are sent to the node managing the relevant Bucket, informing it of the change. In this way, if a node receives a request for a Session which it does not own locally, it may pass a message to it, in a maximum of typically two hops, by sending the message to the Bucket owner, who then does a local lookup of the Sessions actual location and forwards the message to it. If Session and Bucket can be colocated, this can reduced to a single hop. Thus, WADI provides a fixed and scalable substrate over the more fluid arrangement that Cluster membership comprises, on top of which further Clustered services may be built. The above functionality exists in WADI CVS and I am currently working on hardening it to the point that I would consider it production strength. I will then consider the addition of some form of state replication, so that, even with the catastrophic failure of a member node, no state is lost from the Cluster. I plan to begin integrating WADI with Geronimo as soon as a certified 1.0-based release starts to settle down. Certification is the most immediate goal and clustering is not really part of the spec, so I think it best to satisfy the first before starting on subsequent goals. Further down the road we need to consider the unification of session id spaces used by e.g. the web and ejb tiers and introduction of an ApplicationSession abstraction - an object which encapsulates all e.g. web and ejb sessions associated with a particular client talking to a particular application. This will allow WADI to maintain the colocation of associated state, whilst moving and replicating it around the Cluster. If anyone would like to know more about WADI, please feel free to ask me questions here on geronimo-dev or on wadi-dev.
Re: Clustering (long)
Jeff Genender wrote: Jules, This is awesome stuff. I look forward to playing with this stuff in Geronimo. Let me know if you need a hand with something... Thanks for the encouragement, Jeff. It was good to meet you at J1. I'll give you a shout when things get a little more organised. Jules Jeff Jules Gosnell wrote: Guys, I thought that it was high time that I brought you up to date with my efforts in building a clustering layer for Geronimo. The project, wadi.codehaus.org, started as an effort to build a scalable clustered HttpSession implementation, but in doing this, I have built components that should be useful in clustering the state held in any tier of Geronimo e.g. OpenEJB SFSBs etc. WADI (Web Application Distribution Infrastructure) has two main elements - the vertical and the horizontal. Vertically, WADI comprises a stack of pluggable stores. Each store has a pluggable Evicter responsible for demoting aging Sessions downwards. Requests arriving at the container are fed into the top of the stack and progress downwards, until their corresponding Session is found and promoted to the top, where the request is correctly rendered in its presence. Typically the top-level store is in Memory. Aging Sessions are demoted downwards onto exclusively owned LocalDisc. The bottom-most store is a database shared between all nodes in the Cluster. The first node joining the Cluster promotes all Sessions from the database into exclusively-owned store - e.g. LocalDisc. The last node to leave the Cluster demotes all Sessions down back into the database. Horizontally, all nodes in a WADI Cluster are connected (p2p) via a Clustered Store component within this stack. This typically sits at the boundary between exclusive and shared Stores. As requests fall through the stack, looking for their corresponding Session they arrive at the Clustered store, where, if the Session is present anywhere in the Cluster, its location may be learnt. At this point, the Session may be migrated in, underneath the incoming request, or, if its current location is considered advantageous, the request may be proxied or redirected to its remote location. As a node leaves the Cluster, all its Sessions are evacuated to other nodes via this store, so that they may continue to be actively maintained. The space in which Session ids are allocated is divided into a fixed number of Buckets. This number should be large enough such that management of the Buckets may be divided between all nodes in the Cluster roughly evenly. As nodes leave and join the Cluster, a single node, the Coordinator, is responsible for re-Bucketing the Cluster - i.e. reorganising who manages which Buckets and ensuring the safe transfer of the minimum number of Buckets to implement the new layout. The Coordinator is elected via a Pluggable policy. If the Coordinator leaves or fails, a new one is elected. If a node leaves or joins, buckets emigrate from it or immigrate into it, under the control of the Coordinator, to/from the rest of the Cluster. A Session may be efficiently mapped to a Bucket by simply %-ing its ID's hashcode() by the number of Buckets in the Cluster. A Bucket is a map of SessionID:Location, kept up to date with the Location of every Session in the Cluster, of which the id falls into its space. i.e. as Sessions are created, destroyed or moved around the Cluster notifications are sent to the node managing the relevant Bucket, informing it of the change. In this way, if a node receives a request for a Session which it does not own locally, it may pass a message to it, in a maximum of typically two hops, by sending the message to the Bucket owner, who then does a local lookup of the Sessions actual location and forwards the message to it. If Session and Bucket can be colocated, this can reduced to a single hop. Thus, WADI provides a fixed and scalable substrate over the more fluid arrangement that Cluster membership comprises, on top of which further Clustered services may be built. The above functionality exists in WADI CVS and I am currently working on hardening it to the point that I would consider it production strength. I will then consider the addition of some form of state replication, so that, even with the catastrophic failure of a member node, no state is lost from the Cluster. I plan to begin integrating WADI with Geronimo as soon as a certified 1.0-based release starts to settle down. Certification is the most immediate goal and clustering is not really part of the spec, so I think it best to satisfy the first before starting on subsequent goals. Further down the road we need to consider the unification of session id spaces used by e.g. the web and ejb tiers and introduction of an ApplicationSession abstraction - an object which encapsulates all e.g. web and ejb sessions associated with a particular client talking to a particular application. This will allow WADI to maintain the colocation of associated state, whilst
Re: Test Breakage
I am in Monterey right now...I can jump on Tomcat as soon as I get back (unless someone else (David Jencks ;-) ) wants to fix it before then. Jeff Aaron Mulder wrote: The tomcat-builder is getting a test failure in something related to web services. The openejb/core module is getting a test failure in something related to web services. Since we just got the big web services tests to pass, I assume this means our internal tests haven't kept up with the latest web services code changes. In any case, can someone look at these? Thanks, Aaron