Apache Geronimo passes TCK test suite

2005-06-30 Thread Geir Magnusson Jr.

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

2005-06-30 Thread Ivan Dubrov (JIRA)
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

2005-06-30 Thread Ivan Dubrov (JIRA)
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

2005-06-30 Thread sanjaya gayan
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 D’AmourMark 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

2005-06-30 Thread Dirk-Willem van Gulik


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

2005-06-30 Thread Stephane Bailliez


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

2005-06-30 Thread Thierry Templier
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

2005-06-30 Thread Francois Letellier

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 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.


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

2005-06-30 Thread Krishnakumar B
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

2005-06-30 Thread Sachin Patel
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

2005-06-30 Thread toby cabot
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

2005-06-30 Thread Whitlock, Jeremy x66075
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...

2005-06-30 Thread Alan D. Cabrera

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

2005-06-30 Thread Aaron Mulder
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

2005-06-30 Thread Yingchun_Chen
Title: Message






Re: ThreadPool GBean

2005-06-30 Thread Jeremy Boynes

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...

2005-06-30 Thread Alan D. Cabrera

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)

2005-06-30 Thread Jules Gosnell

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

2005-06-30 Thread Leonard Flournoy


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

2005-06-30 Thread Michael Malgeri

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

2005-06-30 Thread Aaron Mulder
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

2005-06-30 Thread Leonard Flournoy

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)

2005-06-30 Thread Jeff Genender

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)

2005-06-30 Thread Jules Gosnell

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

2005-06-30 Thread Jeff Genender
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