Re: ResourceAdapter.start() not getting called?

2004-07-11 Thread Gianny Damour
On 11/07/2004 5:24 AM, David Jencks wrote:
Since it is unlikely that anyone will be running more than one  
TransactionManager/XATerminator in a geronimo server, perhaps this  
should be made a little clearer by specifying the WorkManager 
directly  in the ResourceAdapter config and constructing a 
BootstrapContext per  ResourceAdapter instance.  Opinions?
I agree. Perhaps that there is also something not so obvious - at least 
for me: a BootstrapContext must reference the same XATerminator used 
under the cover by the XAWork referenced by the WorkManager of this context.

The current dependencies are something like that:
TransactionManager  XAWork WorkManager  BootstrapContext;
  
^  
|
   | 
---

So, is it possible to make it clearer by providing to the 
(Geronimo)WorkManager a TransactionManager(Proxy)? This latter still 
provides an XAWork view in order to recreate resource adpater 
transactions; one adds to the (Geronimo)WorkManager  a getter for this 
XATerminator reference/attribute; and BootstrapContext only needs by now 
a simple reference to (Geronimo)WorkManager.

This way, the dependencies could be more abvious - one more time, at 
least for me:
TransactionManager  WorkManager  BootstrapContext.

By the way, as I am talking about XAWork, I think that there are some 
concurrency issues: the begin and end methods should be synchronized 
otherwise, it is possible to run two Work concurrently having the same 
ExecutionContext.

Also, perhaps we should adopt a naming convention for all these 
gbeans  such as

geronimo.server:type=BootstrapContext,name=MyBootstrapContext
Is it possible to have a distinct domain for the JCA services? I mean 
something like:
geronimo.jca:type=BootstrapContext,name=MyBootstrapContext

Moreover, one could perhaps use the naming conventions proposed by 
JSR-77. For instance, a WorkManager could be name:
geronimo.jca:type=WorkManager,BootstrapContext=MyBootstrapContext

Many thanks,
Gianny


Re: [jira] Created: (GERONIMO-267) NoSuchOperationError on deployment of SSB

2004-07-14 Thread Gianny Damour
On 14/07/2004 6:44 AM, [EMAIL PROTECTED] wrote:
Message:
 A new issue has been created in JIRA.
-
View the issue:
 http://issues.apache.org/jira/browse/GERONIMO-267
Here is an overview of the issue:
-
   Key: GERONIMO-267
   Summary: NoSuchOperationError on deployment of SSB
  Type: Bug
Status: Unassigned
  Priority: Major
 

snip
  Assignee: 
  Reporter: toby cabot
 

snip
Description:
i'm trying to deploy and run the test ejb in ./modules/j2ee/target/test-ejb.jar.  after fixing the ejb-jar.xml (see bug 266) it deploys cleanly but when I bring the server up I get a org.apache.geronimo.gbean.jmx.NoSuchOperationError:
 

snip
org.apache.geronimo.gbean.jmx.NoSuchOperationError: No implementation method: objectName=geronimo.server:J2EEApplication=skeleton/app,J2EEModule=skeleton-ejb.jar,J2EEServer=geronimo,j2eeType=StatelessSessionBean,name=StatelessSession, method=public abstract org.openejb.EJBContainer org.openejb.EJBContainer.getUnmanagedReference()
 

This is my fault I have recently changed the way GBean attributes 
names are derived from a method name: basically, from the 
getUnmanagedReference method, the new implementation looks for an 
attribute name unmanagedReference. As the name of this attribute is 
actually UnmanagedReference, this exception is raised.

Sorry for the inconvenience. I will notify the OpenEJB community to 
update their code.
Gianny


Re: [jira] Created: (GERONIMO-267) NoSuchOperationError on deployment of SSB

2004-07-14 Thread Gianny Damour
On 14/07/2004 9:17 AM, Gianny Damour wrote:
org.apache.geronimo.gbean.jmx.NoSuchOperationError: No implementation 
method: 
objectName=geronimo.server:J2EEApplication=skeleton/app,J2EEModule=skeleton-ejb.jar,J2EEServer=geronimo,j2eeType=StatelessSessionBean,name=StatelessSession, 
method=public abstract org.openejb.EJBContainer 
org.openejb.EJBContainer.getUnmanagedReference()
 

This is my fault I have recently changed the way GBean attributes 
names are derived from a method name: basically, from the 
getUnmanagedReference method, the new implementation looks for an 
attribute name unmanagedReference. As the name of this attribute is 
actually UnmanagedReference, this exception is raised.
I have just updated the way GBean attribute names are derived:
When GBeans are proxied via RawGBeanInvokers, attribute names may start 
with an upper-case letter. For instance, if a GBean has a method 
getFoo, then the implementation tries to find an attribute having the 
name Foo. This was the behavior before my updates and I have restored 
it. Now, if such an attribute is not defined, then the implementation 
tries to find an attribute having the name foo.

When GBeans are proxied via JMXGBeanInvokers, attribute names are 
derived based on the exact name embedded in the method name. For 
instance, if a GBean has a method getfoo, then the implementation 
tries to find an attribute having the name foo. This was the behavior 
before my updates and I have restored it.

Gianny


Re: [jira] Created: (GERONIMO-267) NoSuchOperationError on deployment of SSB

2004-07-14 Thread Gianny Damour
On 14/07/2004 12:09 PM, Dain Sundstrom wrote:

On 14/07/2004 9:17 AM, Gianny Damour wrote:
I have just updated the way GBean attribute names are derived:
When GBeans are proxied via RawGBeanInvokers, attribute names may 
start with an upper-case letter. For instance, if a GBean has a 
method getFoo, then the implementation tries to find an attribute 
having the name Foo. This was the behavior before my updates and I 
have restored it. Now, if such an attribute is not defined, then the 
implementation tries to find an attribute having the name foo.

When GBeans are proxied via JMXGBeanInvokers, attribute names are 
derived based on the exact name embedded in the method name. For 
instance, if a GBean has a method getfoo, then the implementation 
tries to find an attribute having the name foo. This was the 
behavior before my updates and I have restored it.

Uh, I think you lost me.  I suggest we first try an exact match using 
JMX standard MBean rules (getFoo looks for a method Foo) and if that 
fails we do a case insensitive match.  What ever we do, it must be 
consistent between the GBeanInvokers, since the programmer has not 
input into the invoker type the container chooses.
Sorry; indeed, this is perhaps not the right approach. However, I was 
pretty confident that this new behavior was more correct:
As far as I understand, the JMX GBeanInvokers are used only when the 
framework mounts a reference, which does not have an attribute named 
GBeanMBean.RAW_INVOKER. Most of the time, this means that the reference 
is an home-made MBean (an MBean, which is not a GBeanMBean). So, I 
thought that we could safely say that programmers have applied the JMX 
standards. In other words, if the attribute is named serverVersion, 
then the getter must be getserverVersion.

Having said that, the RawGBeanInvokers are used, most of the time, when 
the reference is a GBeanMBean. Based on the naming conventions of the 
attribute names (lower-case for the first character), I saw two approaches:
- renaming of the getters and setters of the various GBeans in order to 
be aligned with the JMX standards; or
- update of the way methods and attribute names were matched.

The second approach has been implemented. This means that from a method 
getFoo, the implementation will look for Foo. In case of failure, it 
will then look for foo.
I am happy to make this second look-up case insensitive. Yet, I am not 
sure that JMX GBeanInvokers should mirror this behavior.

In other words, and as far as I understand, programmers know the invoker 
type, which will be used by the container:
- if they use a GBean, it will be the Raw type;
- if they implement an MBean having an attribute GBeanMBean.RAW_INVOKER, 
then it will also be the Raw type; otherwise
- it will be the JMX type. In this specific case, one could assume that 
the JMX naming conventions have been applied.

There is something wrong in my reasoning; nonetheless, I do not know where.
Thanks,
Gianny


Re: [jira] Created: (GERONIMO-267) NoSuchOperationError on deployment of SSB

2004-07-15 Thread Gianny Damour
On 15/07/2004 3:10 AM, Dain Sundstrom wrote:
On Jul 14, 2004, at 4:47 AM, Gianny Damour wrote:
Sorry; indeed, this is perhaps not the right approach. However, I was 
pretty confident that this new behavior was more correct:
As far as I understand, the JMX GBeanInvokers are used only when the 
framework mounts a reference, which does not have an attribute 
named GBeanMBean.RAW_INVOKER. Most of the time, this means that the 
reference is an home-made MBean (an MBean, which is not a 
GBeanMBean). So, I thought that we could safely say that programmers 
have applied the JMX standards. In other words, if the attribute is 
named serverVersion, then the getter must be getserverVersion.

When you want to interact with a GBean over a remote MBean server (JSR 
160), you will use the JMXGBeanInvokers.  Also, this is an attempt to 
make our interactions through JMX easier.
Thanks for that; it was a missing block in my reasoning.
I definitely think the two should work exactly the same and the 
programmer should not know which one is being used (other then the JMX 
one is way slower).  My biggest reason to have these work the same is 
the person using the GBeanInvoker is caller, and the caller would have 
to know how the target GBean was implemented in order to get the 
calling code correct.
You are right.
So, to sum it up, in a first pass one applies the JMX standards; and in 
case of failure, a case insensitive match of method and attribute names 
is performed.

Thanks,
Gianny



Re: build broken (assembly module)?

2004-07-16 Thread Gianny Damour
On 16/07/2004 7:54 AM, David Jencks wrote:
Can you check that your openejb copy is up to date? I've been trying 
to fix these case problems in both projects while doing actual 
development work and I think but am not entirely sure that at least 
this problem is fixed. These attribute names should start with lower 
case as in cvs.
This is weird. The http://dist.codehaus.org maven repository does not 
seem to be up-to-date: the itests and jca archives have been updated on 
15-Jul-2004 and the last update of core was on 12-Jul-2004.

In other words, assembly still fail.
Thanks,
Gianny


sandbox/messaging - your feedbacks are welcome

2004-07-20 Thread Gianny Damour
Hello,
I am working on a prototype, sandbox/messaging, focused on providing the 
infrastructure for the implementation of clustered applications. This 
proto has reached a stage, which is according to me good enough for 
judgment.

I will try to describe here the main features of this infrastructure; 
hence, this memo will be a little bit long.

Its core ideas are:
- to provide a mechanism to cluster/inter-connect N Geronimo servers. 
The way these servers are inter-connected should be at the same time 
manageable (e.g. I want this server to be connected to this one) and to 
some extent automatic (e.g. when a new server is detected, it should be 
added automatically to the cluster); and
- to provide a set of base services built on top of the above 
infrastructure to simplify the implementation of clustered applications 
(e.g. creation of proxies for services running on remote Geronimo server).

Let's talk in more details about the way Geronimo servers are clustered. 
The implementation achieve this goal by organizing servers in a known 
and configurable topology, e.g. star, ring, hyper-cube, where edges of 
the associated graphs represent connections. At the very beginning, a 
server and two heartbeat services, namely heartbeat sender and heartbeat 
monitor, are started. The heartbeat sender sends periodically an 
heartbeat consisting of the meta-data (IP address, port and name) of its 
associated server to a multicast group. The heartbeat monitor monitors 
these heartbeats and detects the availability or failure of servers. 
When a new server is available or a failure is detected, a new topology 
is computed and cascaded to the servers of the current topology.

Let's consider the following scenario:
Geronimo servers are organized in a ring topology; four servers are 
started and one server is killed.

1. starts the first server, namely LearderNode. As it is the first 
server, it is in a stand-alone mode;
2. starts the second server, namely Node1. This server is detected by 
LeaderNode, which triggers a reconfiguration. The topology is LeaderNode 
-- Node1 -- LeaderNode;
3. starts the third server, namely Node2. LeaderNode inserts Node2 
between itself and Node1. The topology is LeaderNode -- Node1 -- Node2 
-- LeaderNode;
4. starts a fourth server, namely Node3. Detected by LeaderNode, it 
inserts Node3 between itself and Node2. The topology is LeaderNode -- 
Node1 -- Node2 -- Node3 -- LeaderNode; and
5. stops Node2. LeaderNode drops it from the ring. The topology is 
LeaderNode -- Node1 -- Node3 -- LeaderNode.

As the proto supports the ring topology, it is possible to trial this 
scenario:
cd sandbox/messaging
maven (ClusterHBTest may fail, so ignore the test failures if required)
maven -patch
cd ../..
java -jar target/bin/server.jar org/apache/geronimo/LeaderCluster
java -jar target/bin/server-1101.jar org/apache/geronimo/Cluster8091
java -jar target/bin/server-1102.jar org/apache/geronimo/Cluster8092
java -jar target/bin/server-1103.jar org/apache/geronimo/Cluster8093
kill the process java -jar target/bin/server-1102.jar 
org/apache/geronimo/Cluster8092

As a conclusion, this prototype tries to federate Geronimo servers in 
specific topologies. As an aside, it is rather simple to support other 
kinds of topologies without significant efforts. For instance, one of 
the JUnit test (NodeImplTest)  uses a bus topology.

Based on the knowledge of the enforced topology,  it should be possible 
to implement efficient clustered applications. For instance, the 
replication of Web sessions could work as follow: replicate the sessions 
created on this server to all of its direct neighbours (neighbours can 
be easily retrieved via a topology). This way the load is evenly 
distributed as long as sessions are evenly created in the cluster.

On top of this infrastructure, the proto implements a set of basic 
services, which could simplify the implementation of such clustered 
applications. These services are:
- customization of the marshalling/unmarshalling of Objects to be 
sent/received to/from a remote server: it is possible to replace 
specific objects;
- InputStream can be passed between servers: by leveraging the previous 
feature, InputStreams are replaced by a proxy which can be used to pull 
the content of an InputStream hosted on a remote server. This can be 
useful when dumping the content of a server to another server in order 
to initialize its state;
- primitive reference layer: Objects implementing a specific interface 
can be passed around even if not serializable. For instance, the current 
implementation can pass around a MBeanServer (this is a bad example as 
JSR 160 is intended for that). If you have a look to 
MBeanServerEndPointImpl, you will see that this is actually the ability 
to return by reference an object to the remote caller. As this caller 
can also provide parameters, which implements this specific interface, 
one can achieves a pass by reference for both the parameters and the 

Re: sandbox/messaging - your feedbacks are welcome

2004-07-21 Thread Gianny Damour
On 21/07/2004 5:28 PM, [EMAIL PROTECTED] wrote:
For clustering, we've been working quite heavily for some time on this 
abstraction...

http://activecluster.codehaus.org/
(Note that ActiveCluster is not Geronimo specific and so can be used 
to build clusters or anything).

The current implementation works on top of any JMS provider, such as 
ActiveMQ, which can work over UDP, multicast, TCP, SSL, g-network, 
JGroups, JXTA etc.
As far as I know, ActiveCluster does not provide high-availability on 
top of any JMS server. JMS servers are not designed equally from an 
high-availability point-of-view. Some of them are high-available and 
others aren't. For instance, if the JMS server used by ActiveCluster 
fails, then it is the cluster as a whole which is down.
If ActiveCluster yields clients of this problem by using a 
ConnectionFactory, which uses under the cover N ConnectionFactory to N 
distinct JMS servers or if it has the ability to detect the failure of a 
JMS server and migrates it on another node, then yes it supports 
high-availability.

So, ActiveCluster does not turn any JMS provider into an 
highly-available JMS provider and if the JMS provider fails, then the 
cluster as a whole fails.

Jules has been working hard on distributed session state and handling 
fail-over gracefully and cluster wide topology organisation protocols 
such as for arranging buddies over subnets / DR zones and the like 
using WADI

http://wadi.codehaus.org/
which is using ActiveCluster and Jules is starting to put together 
various algorithms for choosing buddies, pairs, sub-nets, controllers 
and the like.

Notice the simpler API for ActiveCluster which just reuses a few 
interfaces from JMS.

It seems your new messaging.cluster API is pretty similar to 
ActiveCluster. Any ideas why you didn't just use ActiveCluster? 
(Especially as I mentioned it to you quite a while ago :)
I know. Actually, I was so closed to reach a presentable state of 
g-messaging that I have done the last step: at this very moment, N 
servers can be started and the proto will auto-discover and syndicate 
them. There is not a single point of failure. Actually this is wrong as 
a migratable service is executed by a server and not migrated to 
another node upon failure. This is a standard feature that should be 
provided out-of-the-box: the ability to run a service only once in a 
cluster and migrate it on demand/failure to another node.

Also, as I said to you a while ago, I don't see why the messaging 
package doesn't use the JMS API for things like Msg / MsgBody / 
MsgConsumer / MsgProducer and so forth. Not only would this mean your 
API would become more J2EE standard, it'd mean you could reuse heaps 
of open source and commercial implementations.
At the very beginning, I was really seduced by this idea. On second 
thought, I prefer this simplified API. No cumbersome JMSException at 
each and every simple call on a JMS Message. One can see the various 
MsgX as wrappers around the JMS API. Actually, any open source or vendor 
provided JMS implementations could be re-used: the 
org.apache.geronimo.messaging.remotenode is done to hook-in others 
transports such as JMS. As an aside, we are talking here about only 5 
classes in a code base couting the little more than 100 classes.

Having said all that, I am still having a serious look to ActiveCluster. 
However, I do not see how its current implementation avoids a cluster 
wide failure in case of a JMS server failure.

Cheers,
Gianny


Unpacked module - RAR and WAR support

2004-07-23 Thread Gianny Damour
Hello,
It is now possible to install unpacked RAR and WAR. I have been forced 
to introduce a temporary interface, namely ModuleBuilderWithUnpack, such 
that the build is not broken (OpenEJB impact). When OpenEJBModuleBuilder 
will also support unpacked EJB, this interface will need to be merged 
with ModuleBuilder.

Cheers,
Gianny


Re: Proposal for output of assembly module

2004-08-08 Thread Gianny Damour
On 7/08/2004 4:22 AM, David Jencks wrote:
The assembly module doesn't conform to the maven standard action of 
producing an artifact, and its results are not in the module itself.  
Furthermore it doesn't produce an easily installable geronimo instance.

I'd like to suggest that the assembly module should produce a zip file 
of what it builds, currently into 
target/geronimo-${pom.currentVersion}, and install it in the local 
repo as a zip artifact.

Then we can extend the geronimo-maven plugin with a little bit of 
jelly script to unpack this zip into the target of the module using 
the plugin.  This will make it easy to get back to pristine geronimo 
installations.
I think that it would be awesome. +1.
As far as I understand, assembly is the way to build a Geronimo server 
from nothing: people can only download this module and let maven pulls 
the various artifacts and install a full server. Personally, I see this 
module as an installation procedure via maven.

So, I do have another question: Is it possible to put the assembly 
module somewhere else than nested inside modules? Perhaps that it could 
be nested inside an installer project?

Thanks,
Gianny


Re: Dynamic classpaths

2004-08-25 Thread Gianny Damour
On 25/08/2004 2:45 AM, John Woolsey wrote:
I am trying to deploy my bean and I need to add the jar to the classpath (I 
know rewrite my classloader) so that I can see classes and interfaces in the 
jar. Just wondering for a good spot to look for that.
 - thanx - JAW
 

Hi John,
I do not understand exactly what you are trying to achieve. Yet, if you 
are trying to deploy (Enterprise Java)bean, then you just have to 
package them as you were used to do it. Having said that, Geronimo is 
not yet able to handle Class-Path entries defined in Manifest files. 
Hence, if you are trying to deploy an (Enterprise Java)bean using this 
mechanism, then you may face some ClassNotFoundException.

Could you please provide more details on your needs?
FYI, Dain speaks of Geronimo's class-loading strategy there:
http://www.theserverside.com/talks/videos/DainSundstrom/dsl/interview.html
I think that you should check it out to understand what it buys you as 
an end-user.

Thanks,
Gianny


Re: help ! security realms

2004-08-25 Thread Gianny Damour
On 25/08/2004 2:43 AM, Prem kalyan wrote:
hi all,
  I am going through the security part of geronimo and the
corresponding deployment descriptor elements.I have few questions in
this regard
 1. What are all the different security realms supported in geronimo.
 2. What values does the attribute 'realm-name' in tag realm takes.
 

Hi Prem,
I think that you should have a look to a previous thread named Security 
providers. Alan is describing how the security layer is implemented and 
covers more or less these questions.

 3. What is the equivalent in geronimo  for filerealm in weblogic.
 

If you have a look in var/security of a Geronimo installation, you will 
see for instance a users.properties file. This guy is to Geronimo what 
fileRealm.properties is for WebLogic (OK, the WebLogic one does not 
store the password in clear).

Cheers,
Gianny


Re: NullPointerException at findToolsJarFile

2004-09-13 Thread Gianny Damour
On 13/09/2004 9:12 PM, Jacek Laskowski wrote:
Jacek Laskowski wrote:
Hi,
I've decided to try to run the server with no additional arguments 
and here's what I got. Has anyone seen this before? It's a fresh build.

/geronimo/modules/assembly/target/geronimo-1.0-SNAPSHOT
$ java -jar bin/server.jar
13:03:04,160 WARN  [ToolsJarHack] Could not all find java compiler: 
tools.jar file not found at C:\Program Files\Java\j2
re1.4.2_05\lib\tools.jar
13:03:04,180 WARN  [ToolsJarHack] Could not all find java compiler: 
tools.jar file not found at C:\Program Files\Java\li
b\tools.jar
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException
at 
org.apache.geronimo.system.main.ToolsJarHack.findToolsJarFile(ToolsJarHack.java:97) 

at 
org.apache.geronimo.system.main.ToolsJarHack.install(ToolsJarHack.java:59) 

at 
org.apache.geronimo.system.main.Daemon.clinit(Daemon.java:54)
Exception in thread main

In fact, I can't run the server at all, with or without specified 
configuration :( (I don't have any other way then to sort it out.

This problem may happen if you try to run the server via the standalone 
JRE (C:\Program Files\Java\j2re1.4.2_05\bin\java.exe). You need to run 
it either via the JDK (say, C:\j2sdk1.4.2_05\bin\java.exe) or the JRE 
shipped with the JDK (say, C:\j2sdk1.4.2_05\jre\bin\java.exe)

Jacek
Gianny


Re: Problem building from subversion

2004-09-18 Thread Gianny Damour
On 18/09/2004 8:41 AM, Jacek Laskowski wrote:
Kristian Köhler wrote:
Hi
after refreshing from scm and running rebuild i get an error 
(attached).   Am I alone? ;-)

Oops, I'm checking it out
This problem is fixed. It was due to the fact that the geronimo-tomcat 
artifact was not copied to the geronimo repository prior to deploy 
TomcatGBean.

BTW, I have noticed a couple of issues:
* there is an indirect dependency between Catalina (the class) and the 
javax.management package. I have discovered this problem when mounting 
the geronimo-tomcat module within Eclipse. So we will need to declare a 
new dependency; and
* to some extent we are lucky to have a build of geronimo-tomcat after 
assembly. Indeed, geronimo-tomcat assumes that the assembly module has 
been built, yet it does not declare a dependency to force a correct 
build order. I think that geronimo-tomcat should be installed like the 
other modules (e.g. geronimo-jetty).

Thanks,
Gianny


Re: contextPriorityClassLoader

2004-10-07 Thread Gianny Damour
On 7/10/2004 3:34 PM, Dain Sundstrom wrote:
On Oct 6, 2004, at 5:33 PM, Dain Sundstrom wrote:
BTW, I find the name contextPriorityClassLoader a bit 
non-intuitive, what do other app servers call this (specifically 
weblogic and webshpere).
I'm still interested in this if anyone has the info...
For WebLogic, this is prefer-web-inf-classes.
Gianny
-dain




Re: error

2004-10-14 Thread Gianny Damour
On 14/10/2004 3:20 AM, mouli wrote:
   [mkdir] Created dir:
C:\asf\geronimo\modules\assembly\target\geronimo-1.0-SN
APSHOT\bin
   [mkdir] Created dir:
C:\asf\geronimo\modules\assembly\target\geronimo-1.0-SN
APSHOT\config-store
   [echo] Building server.jar
   [java] Server URI: org/apache/geronimo/System
   [echo] Building server configuration
   [java]
org.apache.geronimo.deployment.DeploymentException:
Unable to load pa
rents
   [java]  at
org.apache.geronimo.deployment.DeploymentContext.init(Deplo
ymentContext.java:114)
 

...
When configurations, modules or plans, are successfully deployed, the 
deployer displays their URIs. So, for sure org/apache/geronimo/System 
has been installed.

   [java] Caused by:
org.apache.geronimo.kernel.config.NoSuchConfigException:
N
o configuration with id: org/apache/geronimo/System
   [java]  at
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.lo
ad(ConfigurationManagerImpl.java:129)
   [java]  at
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.lo
adRecursive(ConfigurationManagerImpl.java:175)
   [java]  at
org.apache.geronimo.deployment.DeploymentContext.init(Deplo
ymentContext.java:112)
 

...
I am so happy! I am not the only one to have faced this problem. If you 
look into your 
modules/assembly/target/geronimo-1.0-SNAPSHOT/config-store directory you 
will see the standard index.properties file along with another file 
named indexID.tmp. This latter should have replaced index.properties, 
yet it seems that index.properties has not been successfully deleted.

So, perhaps that LocalConfigStore should check that index.properties has 
been successfully deleted and that indexID.tmp has been successfully 
renamed.

what needs to be done to fix this?
 

On my side, I have simply rebuilt the assembly module and it was OK. I 
have not been able to re-create the problem.

Are we the only ones to have encountered this problem?
Thanks,
Gianny


Re: Praise Gianny

2004-10-15 Thread Gianny Damour
On 15/10/2004 2:19 PM, Dain Sundstrom wrote:
I'd like to take a moment to praise Gianny for all his hard work on 
the CMP implementation.  Gianny has quietly been working hard on the 
CMP implementation and has just completed a major chunk of CMP 2.  I 
haven't reviewed the entire patch yet, but it looks like we now have 
CMR support, CMP to SQL mapping, compound primary key support, and 
unknown (auto-generated) primary key support.  This is an amazing 
amount of work, especially given the complexity of the TranQL 
codebase.  I know that others are equally impressed with all of the 
work that Gianny has done, and that he has recently been given commit 
on OpenEJB and TranQL.  So thanks, Gianny, for a job well done!
Dain, many thanks for that :-).
I am now a little bit embarrassed: because my patch had some bugs (will 
fix them in the next hours) and also because I did not take a moment to 
praise all of you guys, when you have no more no less put together Geronimo.

Cheers,
Gianny


CMP2.x - new features available - shake out phase

2004-10-16 Thread Gianny Damour
Hi,
We have recently hooked in what we believe is sufficient enough to give 
a fair try to petstore1.3.1_02.

The new capabilities are (Dain, thanks for having logged these issues):
* GERONIMO-177 - Support for user defined primary key classes: nothing 
very special in here; it is now possible to specify a compound primary 
key, which may be mapped to multiple CMP fields. /jira/browse/GERONIMO-177

* GERONIMO-179 - Support for CMRs /jira/browse/GERONIMO-179: OTO, OTM 
and MTM container managed relationships are enabled.

* GERONIMO-176 - CMP table mapping support /jira/browse/GERONIMO-176: 
it is the capability to map the CMP and CMR fields of an EntityBean  to 
a database. There are a couple of examples for each (primary key type, 
relationship multiplicity) couple in here:
openejb\modules\core\src\test-cmp

* GERONIMO- 377 - Unknown primary key support: this is used to support 
the deployment of EntityBean having an unknown primary key class. By 
now, no test-cases have been committed. Having said that, here is an 
explanation of how to use it:

EntityBeans having an unknown primary key class, i.e. java.lang.Object, 
must declare a automatic-key-generation element. This latter specifies 
the name of a primary key generator along with the class type returned 
by this same generator. A primary key generator can return either simple 
or compound primary keys. In the former case, a primkey-field needs to 
be specified along with the automatic-key-generation. In the latter 
case, no primkey-field must be specified.

Virtual CMP fields are to be defined in order to store the 
auto-generated primary keys. One does via the standard 
cmp-field-mapping element; though, one must also declare the class 
type of such virtual CMP fields via the cmp-field-class element.

As of this writing, two primary key generators are supported:
- sequence, store procedure or more generaly any SQL statement returning 
a unique identifier: this is the GBean 
org.openejb.entity.cmp.pkgenerator.SQLPrimaryKeyGeneratorWrapper; and
- sequence table, where a sequence is simulated via a table: this is the 
GBean 
org.openejb.entity.cmp.pkgenerator.SequenceTablePrimaryKeyGeneratorWrapper.

Example of unknown primary key definition - to be specified in 
openejb-jar.xml:

  entity
  ejb-nameProfileEJB/ejb-name   // ProfileEJB has an 
unknown primary key as per ejb-jar.xml.
  table-nameProfileEJBTable/table-name
  cmp-field-mapping
  cmp-field-nameid/cmp-field-name   // id is not 
defined in ejb-jar.xml; this is a virtual CMP field.
  cmp-field-classjava.lang.Integer/cmp-field-class  
// one must specify the class type virtual CMP fields.
  table-columnid/table-column
  /cmp-field-mapping
 ...
 primkey-fieldid/primkey-field  // defines the 
virtual CMP field storing the auto-generated identity.
automatic-key-generation

generator-namegeronimo.server:role=CMPPKGenerator,name=IntegerGenerator/generator-name 
// reference a primary key generators
primary-key-classjava.lang.Integer/primary-key-class
 /automatic-key-generation
  entity

   // this is the declaration of the primary key generator used by 
ProfileEJB.
   gbean 
name=geronimo.server:role=CMPPKGenerator,name=IntegerGenerator 
class=org.openejb.entity.cmp.pkgenerator.SequenceTablePrimaryKeyGeneratorWrapper
   reference 
name=ManagedConnectionFactoryWrappergeronimo.server:J2EEServer=geronimo,j2eeType=JCAManagedConnectionFactory,name=MySQL/reference
   attribute name=tableName 
type=java.lang.StringSEQUENCE_TABLE/attribute
   attribute name=sequenceName 
type=java.lang.StringSEQUENCE_NAME/attribute
   attribute name=batchSize type=int10/attribute
/gbean

For sure, there are some bugs and it will take a couple of weeks to 
identify and fix them. So, if you want to trial these new features with 
your home-grown CMP2.x EntityBean and help in this shake out process, 
then that would be awesome.

Thanks,
Gianny


Re: Build Error in Assembly

2004-10-20 Thread Gianny Damour
Hi Mouli,
A couple of tests have been added to detect File.delete or File.renameTo 
failures. Moreover, if File.renameTo fails, then an atttempt to create a 
new index file from scratch is done.

Could you please update your local copy and give it another try?
Thanks,
Gianny
On 20/10/2004 11:54 AM, mouli wrote:
I still get  the error
==
   [echo] C:\asf\geronimo
   [echo] Preprocessing client-system-plan.xml
   [echo] Preprocessing default-database-plan.xml
   [echo] Preprocessing deployer-system-plan.xml
   [echo] Preprocessing j2ee-client-plan.xml
   [echo] Preprocessing j2ee-deployer-plan.xml
   [echo] Preprocessing j2ee-secure-plan.xml
   [echo] Preprocessing j2ee-server-plan.xml
   [echo] Preprocessing system-activemq-plan.xml
   [echo] Preprocessing system-database-plan.xml
   [echo] Preprocessing system-jms-plan.xml
   [echo] Preprocessing system-plan.xml
   [echo] Bootstrapping service deployer
   [echo] Building server.jar
   [java] Server URI: org/apache/geronimo/System
   [echo] Building server configuration
   [java]
org.apache.geronimo.deployment.DeploymentException:
Unable to load pa
rents
   [java]  at
org.apache.geronimo.deployment.DeploymentContext.init(Deplo
ymentContext.java:114)
   [java]  at
org.apache.geronimo.deployment.service.ServiceConfigBuilder.b
uildConfiguration(ServiceConfigBuilder.java:101)
   [java]  at
org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:
174)
   [java]  at
org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:
83)
   [java]  at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMet
aDataImpl.java:213)
   [java]  at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java
:220)
   [java]  at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(
DefaultMBeanServerInterceptor.java:815)
   [java]  at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.
java:784)
   [java]  at
org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:231)
   [java]  at
org.apache.geronimo.system.main.CommandLine.init(CommandLin
e.java:106)
   [java]  at
org.apache.geronimo.system.main.CommandLine.main(CommandLine.
java:64)
   [java] Caused by:
org.apache.geronimo.kernel.config.NoSuchConfigException:
N
o configuration with id: org/apache/geronimo/System
   [java]  at
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.lo
ad(ConfigurationManagerImpl.java:129)
   [java]  at
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.lo
adRecursive(ConfigurationManagerImpl.java:175)
   [java]  at
org.apache.geronimo.deployment.DeploymentContext.init(Deplo
ymentContext.java:112)
   [java]  ... 10 more
BUILD FAILED
File.. C:\Documents and
Settings\mouli\.maven\cache\maven-multiprojec
t-plugin-1.3.1\plugin.jelly
Element... maven:reactor
Line.. 217
Column 9
Unable to obtain goal [default] --
C:\asf\geronimo\modules\assembly\maven.xml:22
5:84: ant:java Java returned: 2
Total time: 1 minutes 45 seconds
Finished at: Tue Oct 19 21:25:25 EDT 2004
=
As suggested earlier I have removed indexid.tmp but
it gets created when I run the build again.
Any suggestions...
Thanks,
Mouli

___
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com
 




Re: [VOTE] M3 pre ApacheCon

2004-11-04 Thread Gianny Damour
+1
Gianny
On 4/11/2004 3:48 AM, Jeremy Boynes wrote:
On the belief we need to formally vote on making a release, should we 
produce a M3 release?




Re: Vote: Remove old deployer, rename new deployer

2004-11-07 Thread Gianny Damour
+1
As an aside, the new deployer can not distribute unpacked modules. Is it 
intentional?

Thanks,
Gianny
On 7/11/2004 4:35 AM, Aaron Mulder wrote:
I'd like to remove the current deployer.jar tool, remove the
command-line processing logic from the Deployer class, rename
new-deployer.jar to deployer.jar and change the bootstrapper to build
the new one instead of the old one.  Currently there are two so we'd have
some sort of transition (fallback in case of problems), but since the
build script is pretty much only using the new one now, there are some
NPE's in the old one, and no one seems to have had any problems with the
new one, I'd like to go ahead and eliminate the old one.
Please indicate whether you agree.
Thanks,
Aaron
 




Re: [VOTE] M3 pre ApacheCon

2004-11-08 Thread Gianny Damour
On 8/11/2004 8:19 AM, David Jencks wrote:
I'm not exactly ready to vote -1, but I think we should resolve these 
issues before M3:

1. http://issues.apache.org/jira/browse/GERONIMO-386 Make cmp work 
with derby.  Prove it with the itests
I had a look to this one. I have committed a partial implementation and 
switched itests to Derby.

As far as I know, these CMP EJBs are not portable as they are using an 
auto-generated primary key by the DB. In other words, additional vendor 
specific configurations  are to be provided to map them to such a table.

The identity of these EJBs have been declared as auto-generated by the 
GBean AutoIncrementTablePrimaryKeyGeneratorWrapper. This latter uses 
JDBC3.0 to return auto-generated table primary keys.

More accurately, it inserts a dummy record into the entity table via 
INSERT INTO entity (first_name) VALUES ('MOCK') and retrieves the 
auto-generated primary key. This works; yet I will revisit the 
implementation to get ride of this query to be manually specified.

Thanks,
Gianny



BLOB manipulation - question

2004-11-28 Thread Gianny Damour
Hi,
I am working on the support of Dependent Value Classes.
The implementation is rather simple: if a binding is not explicitely 
defined for a CMP field class (see 
org.tranql.sql.jdbc.binding.BindingFactory) and if the class implements 
Serializable, then one assumes that the CMP field is a Dependent Value 
Class. Such CMP fields are stored into BLOB columns.

The serialized object is stored into the BLOB via the 
PreparedStatement.setBinaryStream(int parameterIndex, 
java.io.InputStream x, int length) method. As a matter of fact, this 
works with Derby. Yet, it seems that this is not the correct way. More 
accurately, it seems that PreparedStatement.setBlob (int i, Blob x) is 
the correct way.

Anyone knows if PreparedStatement.setBinaryStream is portable?
Thanks,
Gianny


Re: BLOB manipulation - question

2004-12-01 Thread Gianny Damour
Dain, Jeremy, thanks for your replies.
Here is a short description of what I have so far understood about LOB 
manipulations:

setBinaryStream
setBinaryStream does work with Derby, MySQL and Oracle (except where the 
content is bigger than 4k). The JDBC specifications 3.0  mandate that 
the method setBinaryStream may also be used to store BLOB.

BLOB creation
* in the case of Oracle, the empty_blob() method is indeed to be used to 
create an empty BLOB. I tried unsuccessfully other approaches 
(setNull(index, Types.BLOB),  setBinaryStream(index, null, 0) and INSERT 
TABLE A (myBLOBColumn) VALUES ('')).
* in the case of MySQL a simple INSERT TABLE A (myBLOBColumn) VALUES 
('') works.

BLOB update
BLOB updates are done either directly to the LOB itself or to a copy. It 
is implementation dependent and the method 
DatabaseMetaData.locatorsUpdateCopy() indicates which of this 
implementation is supported by a driver.

* Oracle works directly with the LOB. This means that to update a BLOB, 
one just needs to do that:
statement.executeUpdate(CREATE TABLE A (a1 VARCHAR(10), a2 BLOB));

// execute this query to create a BLOB.
preparedStatement = connection.prepareStatement(INSERT INTO A (a1, a2) 
VALUES ('a1', EMPTY_BLOB()));
preparedStatement .execute();

// update it in place
preparedStatement = connection.prepareStatement(SELECT a2 FROM A WHERE 
a1 = 'a1' FOR UPDATE);
resultSet = preparedStatement .executeQuery();
rs.next();
Blob blob = rs.getBlob(1);
OutputStream out = blob.setBinaryStream(1);
// update the Blob by writing new data via out.write()
// truncate Blob if required via blob.truncate(long);

connection.commit();
The above snippet works with Oracle10g JDBC driver and above. Prior to 
this version, Oracle specific classes need to be used.

* MySQL works with a copy of the LOB. This means that to update a BLOB, 
one needs to update it via setBlob or updateBlob. The previous snippet 
becomes:
// execute this query to create a BLOB.
preparedStatement = connection.prepareStatement(INSERT INTO A (a1, a2) 
VALUES ('a1', ''));
preparedStatement .execute();

// update the BLOB copy
preparedStatement = connection.prepareStatement(SELECT a2 FROM A WHERE 
a1 = 'a1' FOR UPDATE);
resultSet = preparedStatement .executeQuery();
rs.next();
Blob blob = rs.getBlob(1);
OutputStream out = blob.setBinaryStream(1);
// update the Blob by writing new data via out.write()
// truncate Blob if required via blob.truncate(long);

// update the BLOB itself
preparedStatement = c.prepareStatement(UPDATE A SET a2 = ? WHERE a1 = 
'a1');
preparedStatement .setBlob(1, blob);
preparedStatement .execute();

connection.commit();
Based on these findings, I have started to implement a solution which 
does this:
* use setBinaryStream if specified; or
* decompose INSERT and UPDATE statements into two or three statements 
depending on a locatorsUpdateCopy configuration.

Thanks,
Gianny


Re: BLOB manipulation - question

2004-12-04 Thread Gianny Damour
On 2/12/2004 11:52 AM, Dain Sundstrom wrote:
Great news.  I suggest that we declare that we only officially support 
the 10g driver.  Maybe add a wiki page with supported drivers.

Good idea.
This is in progress in here:
http://wiki.apache.org/geronimo/Working_20with_20Enterprise_20JavaBeans
Thanks,
Gianny



Re: EJB QL Support?

2005-01-03 Thread Gianny Damour
On 14/12/2004 6:55 AM, Aaron Mulder wrote:
	Is anyone working on EJB QL support?  There's a guy here at work 
who's interested in fussing with antlr and EJB QL, but I don't want to 
step on anyone if it's already underway.

Aaron
 

Happy New Year All!
Aaron, could you please tell me if this task is been progressed? I am 
back from holidays and have time to work on it.

Thanks,
Gianny


Re: abstract-schema-name doesn't seem to work for CMP20

2005-01-05 Thread Gianny Damour
You are right: abstract-schema-name does not work. By now, one need to 
use the ejb-name instead of the abstract-schema-name in the basic EJBQL 
queries, which are currently supported.

I have already fixed this bug on my working copy and will commit the fix 
as part of upcoming EJBQL stuff. I plan to do an intermediate check in 
over the week-end.

Thanks,
Gianny
On 5/01/2005 11:03 PM, Alan D. Cabrera wrote:
abstract-schema-name doesn't seem to work for CMP20.  I thought that
this used to work.  Can anyone confirm?
Regards,
Alan
 



Re: svn commit: r126427 - /geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java

2005-01-25 Thread Gianny Damour
Hi David,
It seems that this is related to this JIRA issue:
 [ http://nagoya.apache.org/jira/browse/GERONIMO-504?page=comments#action_55900 
]
that Jeremy has commented.
Thanks,
Gianny
On 26/01/2005 8:33 AM, David Jencks wrote:
I'd like to check that this doesn't violate any philosophical  
principles behind deployment.  I think that all classes used at 
runtime  should be available at deployment time: this patch checks 
that all  dependencies are in fact present at deployment time.  Any 
arguments?

thanks
david jencks
On Jan 25, 2005, at 1:30 PM, [EMAIL PROTECTED] wrote:
Author: djencks
Date: Tue Jan 25 13:30:16 2005
New Revision: 126427
URL: http://svn.apache.org/viewcvs?view=revrev=126427
Log:
If a dependency is missing, let us know immediately, not when a 
class  can't be loaded
Modified:

geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ 
deployment/service/ServiceConfigBuilder.java

Modified:  
geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ 
deployment/service/ServiceConfigBuilder.java
Url:  
http://svn.apache.org/viewcvs/geronimo/trunk/modules/service-builder/ 
src/java/org/apache/geronimo/deployment/service/ 
ServiceConfigBuilder.java?view=diffrev=126427p1=geronimo/trunk/ 
modules/service-builder/src/java/org/apache/geronimo/deployment/ 
service/ServiceConfigBuilder.javar1=126426p2=geronimo/trunk/modules/ 
service-builder/src/java/org/apache/geronimo/deployment/service/ 
ServiceConfigBuilder.javar2=126427
=== 
===
---  
geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ 
deployment/service/ServiceConfigBuilder.java(original)
+++  
geronimo/trunk/modules/service-builder/src/java/org/apache/geronimo/ 
deployment/service/ServiceConfigBuilder.javaTue Jan 25 13:30:16 2005
@@ -53,6 +53,7 @@
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.geronimo.kernel.repository.Repository;
+import  
org.apache.geronimo.kernel.repository.MissingDependencyException;
 import org.apache.xmlbeans.XmlException;

 /**
@@ -153,7 +154,7 @@
 public static void addIncludes(DeploymentContext context,  
DependencyType[] includes, Repository repository) throws  
DeploymentException {
 for (int i = 0; i  includes.length; i++) {
 DependencyType include = includes[i];
-URI uri = getDependencyURI(include);
+URI uri = getDependencyURI(include, repository);
 String name = uri.toString();
 int idx = name.lastIndexOf('/');
 if (idx != -1) {
@@ -176,7 +177,7 @@

 public static void addDependencies(DeploymentContext context,  
DependencyType[] deps, Repository repository) throws  
DeploymentException {
 for (int i = 0; i  deps.length; i++) {
-URI dependencyURI = getDependencyURI(deps[i]);
+URI dependencyURI = getDependencyURI(deps[i], repository);
 context.addDependency(dependencyURI);

 URL url;
@@ -264,7 +265,7 @@
 return gBeanData;
 }
-private static URI getDependencyURI(DependencyType dep) throws  
DeploymentException {
+private static URI getDependencyURI(DependencyType dep,  
Repository repository) throws DeploymentException {
 URI uri;
 if (dep.isSetUri()) {
 try {
@@ -280,6 +281,9 @@
 } catch (URISyntaxException e) {
 throw new DeploymentException(Unable to construct  
URI for groupId= + dep.getGroupId() + , artifactId= +  
dep.getArtifactId() + , version= + dep.getVersion(), e);
 }
+}
+if (!repository.hasURI(uri)) {
+throw new DeploymentException(new  
MissingDependencyException(uri  + uri +  not found in  repository));
 }
 return uri;
 }





Re: tranql test failure

2005-02-02 Thread gianny . damour
Sorry for that. I was pretty sure to have done a rebuild prior to commit...

Dain, thanks for having fixed this problem.

Gianny

 David Jencks [EMAIL PROTECTED] wrote:
 
 (haven't discovered a tranql list...)
 
 I'm getting a test failure in tranql on os x
 
 [junit] Running 
 org.tranql.sql.sql92.InjectRegisteredEmptyVisitorTest
  [junit] Tests run: 3, Failures: 3, Errors: 0, Time elapsed: 0.308 
 sec
  [junit] [ERROR] TEST 
 org.tranql.sql.sql92.InjectRegisteredEmptyVisitorTest FAILED
 
 
 Anyone else seeing this?
 
 thanks
 david jencks


Re: ObjectInputStream with classloading

2005-02-04 Thread Gianny Damour
On 4/02/2005 5:02 AM, David Jencks wrote:
1. tranql has 2 implementations, one using the thread context cl and 
one using a known classloader.  These are both broken.  However, 
tranql is required to build geronimo modules so I dont think we 
should have tranql require geronimo modules as well.  Any ideas?  
Does the TCCL one actually need the TCCL?
The TCCL one (SerializableConverter.TCCLObjectInputStream) can be 
replaced by one using the configurationClassLoader of the Configuration 
which has loaded it.

AFAIK, the one using a known ClassLoader 
(FieldMarshaller.MarshalledInputStream) can not be used as is. 
Instead, a not yet existing ClassLoaderDelegate (similar to 
DataSourceDelegate and TransactionManagerDelegate) needs to be provided.

Regarding the correct implementation of the ObjecInputStream to support 
arrays and proxies, I assume that we will have to copy and paste the 
Geronimo helpers  to TranQL.

Is that OK?
Thanks,
Gianny


Re: Build was broken but might be fixed...

2005-02-05 Thread Gianny Damour
MockWebServiceInvoker has been wrongly committed?
Thanks,
Gianny
On 5/02/2005 3:21 PM, David Jencks wrote:
After getting too enthusiastic after fixing some bugs I checked in 
various files today that broke other things.  My apologies.

I think that everything is restored to working condition, I will 
rebuild on another system to make sure.

Please complain if there are still problems.
thanks
david jencks




EJB QL is now supported

2005-02-05 Thread Gianny Damour
Hi,
Just a quick mail to let you know that EJB QL is now supported. I am 
still in the process of writing JUnit tests, yet this is pretty it.

I will keep GERONIMO-192 and GERONIMO-186 open until I complete my JUnit 
tests and will then close them. Meanwhile, if you discover a bug with 
the implementation, then I would prefer to add them appended to one of 
these two issues by now.

Thanks,
Gianny


RMI classloading

2005-03-18 Thread gianny . damour
Hi,

I would like to know if it would be helpful to have a RMI class server.

Currently, I see two potential usage:
* deployment: currently, we need to be carefull about the exceptions nested 
within
DeploymentException otherwise we will get a ClassNotFoundException. As a matter 
of
fact, by installing a security manager and with the correct policy file, local
deployments work properly. Indeed, as the ClassLoader used under the cover by
Configuration is a URLClassLoader, marshalled classes are properly annotated.
* IIOP: here I guess that we will need to download the stubs somehow to the 
clients.

If you think that this is a good thing to have, then I am happy to get it 
working.

Thanks,
Gianny


Assembly - two artefacts: assembly-deployer and assembly-server

2005-03-22 Thread Gianny Damour
Hi,
I think that we should produce two artefacts as part of the assembly steps:
* geronimo-assembly-server: only the stuff for the server; and
* geronimo-assembly-deployer: only the stuff for the deployer.
This way is it more easy for end-users to understand what is actually 
used by a geronimo deployer and a geronimo server.

I know that assembly is planned to be moved outside of modules; and it 
should be great to split it into two projects at the same time.

Any thoughts?
Thanks,
Gianny


Re: Getting a YourKit License

2005-03-22 Thread gianny . damour
I am also interested.

Thanks,
Gianny


 Hiram Chirino [EMAIL PROTECTED] wrote:
 
 Hi Geronimo Developers,
 
 I shot an email out to the YourKit folks to see about getting a license 
 
 for their most excellent profiler.  Seems like the are willing to give 
 us free licenses.  Who interested, and would there be problem with 
 dropping a link to YourKit from our website?
 
 Regards,
 Hiram
 
 Begin forwarded message:
 
  From: [EMAIL PROTECTED]
  Date: March 22, 2005 5:56:45 AM EST
  To: Hiram Chirino [EMAIL PROTECTED]
  Subject: Re: YourKit License
  Reply-To: [EMAIL PROTECTED]
 
  Hello Hiram,
 
  thank you for your interest in our product.
 
  Sure, we can grant free of charge licenses to developers of Apache 
  Geronimo project.
  Please send us list of developers which need licenses (first and last 
 
  names).
 
  In return it would like to have a link to YourKit somewhere in 
  credits section
  of http://geronimo.apache.org/ (please take a look at 
  http://groovy.codehaus.org/)
 
 
  Kind regards,
  Vladimir Kondratyev
  YourKit, LLC
  http://www.yourkit.com
  Don't get lost in data, get information!


Re: Mark DeLaFranier - new Apache Geronimo committer

2005-03-27 Thread Gianny Damour
BTW Mark, I hope that you will accept this offer :).
Congrats for your upcoming commit status and, indeed, thanks for your 
hard work on interop.

Gianny
On 27/03/2005 10:45 AM, Dain Sundstrom wrote:
Congratulation Mark and thank you for all the hard work you have in 
interop.

-dain
On Mar 25, 2005, at 2:57 AM, Geir Magnusson Jr. wrote:
Dear Mark,
The Apache Geronimo PMC has voted to offer you commit status on the 
Apache Geronimo project, as I believe that Alan and others are tired 
of having to commit your excellent patches :)

Thank you for your participation so far in the project, and we all 
are excited to have you as a committer.

Please let us know if you wish to accept this offer.
geir
--
Geir Magnusson Jr  +1-203-665-6437
[EMAIL PROTECTED]





Re: Incompatible API change in Configuration

2005-04-04 Thread Gianny Damour
My bad :(
I must admit that this is a side effect that I have not duly considered. 
I considered the source and binary compatibility and I missed this 
serialization specific incompatibility.

Gianny
On 3/04/2005 6:15 AM, Jeremy Boynes wrote:
On 3/22 in revision 158589 the API for Configuration changed in that 
the return type from getConfigurationClassLoader() changed from 
ClassLoader to a ConfigurationClassLoader. This means all 
configurations built before then are now inoperable with the current 
tree as the attribute type in the persisted GBeanData does not match 
the new signature.

I can't find any discussion on the list around then that would alert 
users to this change. It is critical that we let people know when this 
kind of change is made.

--
Jeremy



Re: John Sisson - new Apache Geronimo committer

2005-04-06 Thread Gianny Damour
On 6/04/2005 10:56 AM, [EMAIL PROTECTED] wrote:
Thanks everyone!
I would like to accept and I am waiting for approval from corporate legal.
Regards,
John
 

Congratulations John!
Gianny


Re: Spring cleaning

2005-04-09 Thread Gianny Damour
+1
I think that the webdav stuff should go too.
Thanks,
Gianny
On 9/04/2005 1:34 AM, Jeremy Boynes wrote:
It has been a very long time since we went around and cleaned up some 
of the things that seemed like good ideas at the time. I would like to 
propose a spring-cleaning exercise.

For example, if we look in the sandbox we moved a lot of things there 
over a year ago on the basis that they might be useful later; this 
includes mail, remoting and explorer which have all been implemented 
differently in the trunk. I would suggest we remove everything from 
there except Gianny's webdav stuff (unless he thinks that should go too).

There is also some utility stuff in the common, core and system 
modules that is not being used and which can be removed to reduce 
clutter and footprint.

Finally, I'd like to revisit the dependencies we have. For example, I 
recently came across the case where we were using a RC version of the 
velocity jellybean but then they had cut the final release and we just 
had not upgraded. We should go back and see if there are more 
instances of this. We may also find that by removing some of the 
clutter some dependencies can also be removed entirely.

Any thoughts, objections, or additional stuff that could be cleaned up?
--
Jeremy



Re: How to build Geronimo offline.

2005-06-01 Thread Gianny Damour

Hi Kishor,

You need to add these two lines in the project.properties file located 
under the root of the geronimo source code:

maven.proxy.host=hostname
maven.proxy.port=port

Thanks,
Gianny

On 1/06/2005 10:28 PM, kishor wrote:


The other problem is that I got Proxy sever to connect to internet
I think some where in maven.xml I must provide the proxy setting to
download jars.

Regards
Kishor

-Original Message-
From: Jeremy Boynes [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 01, 2005 10:22 AM
To: dev@geronimo.apache.org
Subject: Re: How to build Geronimo offline.


kishor wrote:
 


Hi all,
I'm new to Geronimo,
I want to build Geronimo offline, Don't want Maven to download jars at
   


build
 


time,
Can any one tell me where I will get the docs ?

   



First time through it is much easier to build online to get all the
dependencies. After that:

$ maven -o


If bandwidth is a big problem, you can download a lot of the
dependencies in one go by just trying to build the assembly module:

$ cd modules/assembly
$ maven build:start

and then go back to the root and build offline. A few modules not used
by assembly will not have been downloaded resulting in failures in those
modules. You can build those using

$ maven -Dmodules=${failed_module}

Painful, but a possible workaround to avoid all the snapshot checks.
--
Jeremy


http://www.patni.com
World-Wide Partnerships. World-Class Solutions.
_

This e-mail message may contain proprietary, confidential or legally
privileged information for the sole use of the person or entity to
whom this message was originally addressed. Any review, e-transmission
dissemination or other use of or taking of any action in reliance upon
this information by persons or entities other than the intended
recipient is prohibited. If you have received this e-mail in error
kindly delete  this e-mail from your records. If it appears that this
mail has been forwarded to you without proper authority, please notify
us immediately at [EMAIL PROTECTED] and delete this mail. 
_
 





Re: Klustering and Kache

2006-06-17 Thread Gianny Damour

This is a great news!

The WADI community is also working on providing clustering capabilities 
to Geonimo. The first-pass is still not yet checked-in and I expect to 
have it checked it next week.


The implementation will provide:
* pluggable replication strategy;
* support of a large number of nodes thanks to state partitioning;
* session relocation (move this state to this node as an inbound request 
bound to this state has been received on the node);

* request relocation or proxying; and
* pluggable transport: Tribes, JGroups, ActiveCluster on top of ActiveMQ.

As part of this integration, we are also ensuring full pluggability of 
clustering framework for Geronimo, i.e. Klustering and Kache can easily 
be plugged in.


Thanks,
Gianny

Jeff Genender wrote:


Hey community,

I just wanted to pass a note that some of us are working on the
geronimo-cache which is a first-pass at clustering in the sandbox:

http://svn.apache.org/repos/asf/geronimo/sandbox/geronimo-cache/

Its the beginning of a full replication implementation...its a start.  I
would like to invite any and all to feel free to jump in and chat about
it on the lists.

Its not fully functional but its a hopeful move in the right direction.

Thanks,

Jeff


 





Re: Namespace-driven builders and the UPA rule

2006-06-18 Thread Gianny Damour

Hi,

Is there a way to do this substitution of JACC implementation by 
providing a substitutionGroup attribute to the security element?


This may be not be correct; yet, this could look like this:

   xs:complexType name=security
   xs:sequence
   xs:element ref=security:security minOccurs=0/
   /xs:sequence
   /xs:complexType

   xs:complexType name=pluggable-security
   xs:complexContent
   xs:extension base=geronimo:security/
   xs:sequence
   xs:element name=jacc-implementation 
type=xs:string/

   /xs:sequence
   /xs:extension
   /xs:complexContent
   /xs:complexType

   xs:element substitutionGroup=geronimo:security 
name=pluggable-security type=geronimo:pluggable-security/


   xs:complexType name=applicationType
   xs:sequence
   xs:element ref=sys:environment/

   xs:element name=module type=geronimo:moduleType 
minOccurs=0 maxOccurs=unbounded/
   xs:element name=ext-module type=geronimo:ext-moduleType 
minOccurs=0 maxOccurs=unbounded/
   xs:element name=security type=geronimo:security 
minOccurs=0/
   xs:element ref=sys:gbean minOccurs=0 
maxOccurs=unbounded/

   /xs:sequence

   !--TODO application name should be settable using name-key in 
the environment.  Does this work? --
   xs:attribute name=application-name type=xs:string 
use=optional/

   /xs:complexType

I think that this approach is more verbose than the namespace-driven 
approach; however, it is then easier to read the schema and understands 
how to swap the JACC implementation.


Thanks,
Gianny

David Jencks wrote:


For the pluggable jacc implementation (GERONIMO-1563)
I've been working on making a basic namespace-driven
builder framework.  The code is simple and looks like
it will work fine but. there's a problem with the
schema unique particle attribute rule, which basically
says that in order for a schema to be valid each
element can only be parsed in one way, and the way
must be determined without looking forward or
backwards or looking very hard at the context.

OK.  So, I wanted to make the geronimo security
element namespace-driven, so if you used the current
security-1.1 namespace you'd get our current impl, if
you used something else you'd get that impl.  We had

...
   xs:element name=ext-module
type=geronimo:ext-moduleType minOccurs=0
maxOccurs=unbounded/
   xs:element ref=security:security
minOccurs=0/
   xs:element ref=sys:gbean minOccurs=0
maxOccurs=unbounded/
   /xs:sequence

In order to make the security element variable, it
needs to be xs:any namespace=##other
minOccurs=0:/

Then in order to prevent the first gbean matching this
if there's no security element I have to make the
gbeans work through namespace driven builder too, and
get
...
   xs:element name=ext-module
type=geronimo:ext-moduleType minOccurs=0
maxOccurs=unbounded/
   xs:any namespace=##other
processContents=lax minOccurs=0
maxOccurs=unbounded/
   /xs:sequence

This works fine for the geronimo-application schema

the problem comes with the web schemas  (and perhaps
the openejb schema, I haven't got that far yet).  We
now have

   xs:group
ref=naming:jndiEnvironmentRefsGroup/
   xs:element
ref=naming:message-destination minOccurs=0
maxOccurs=unbounded/

   xs:sequence minOccurs=0
   xs:element name=security-realm-name
type=xs:string/
   xs:element ref=security:security
minOccurs=0/
   /xs:sequence

   xs:element ref=sys:gbean minOccurs=0
maxOccurs=unbounded/

   /xs:sequence

With a similar combination as in the g-app schema we'd
get:

   xs:group
ref=naming:jndiEnvironmentRefsGroup/
   xs:element
ref=naming:message-destination minOccurs=0
maxOccurs=unbounded/

   xs:element name=security-realm-name
type=xs:string minOccurs=0/

   xs:any namespace=##other
processContents=lax minOccurs=0
maxOccurs=unbounded/

   /xs:sequence

if the security-realm-name element was required
there'd be no problem, you could tell that the naming
elements are not part of the anys at the end.  However
if it is missing, the naming elements could match the
explicit elements or the anys.

I don't know how to get by this problem.  xmlbeans has
a no-upa option which might let use use this schema,
but it's an invalid schema, so this is not completely
desirable.  We could turn the entire schema into a
bunch of anys, but this sort of loses the point of
having a schema.  We could make an incompatible change
to the schema, or we could special case the current
security namespace and effectively introduce another
element to hold other builders security info,
something like

   xs:sequence minOccurs=0
   xs:element name=security-realm-name
type=xs:string/
   xs:choice
   xs:element
ref=security:security minOccurs=0/
   xs:element

Re: Request change to RTC Process

2006-06-18 Thread Gianny Damour

Rodent of Unusual Size wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jacek Laskowski wrote:
 


Let's take this as an example. As we haven't discussed it yet, it
seems to me that such a change requires 3x+1 from PMC members. So,
only when this vote (it should possibly be a separate vote with
72-hour vote period to bring more attention) passes committers who are
not PMC members have their +1 binding. Am I correct?
   



No.  Only PMC votes are binding.  There is only an issue here
because the PMC != committers.  I think the most desirable
solution is PMC === committers, but other people on the PMC
disagree.
 

Indeed, I disagree and I would like have this rule relaxed in the case 
of RTC votes.


I think that one of the main goals of RTC is to encourage discussion of 
code changes and have a more collaborative development process. I do not 
see how this restriction (only PMC votes are binding) promotes further 
collaborative development.


Having said that, this change to RTC is a very nice change as it is now 
easier to follow what people are working on and more people can get 
involved and contribute.


Ken, could you please tell us if it is possible to relax the RTC rule? 
If this is not possible, then is it possible to relax the pre-requisites 
to be able to vote? For instance, I had a look to David J. JACC patch; I 
am fine with it; however, I have not applied and tested it; so, I cannot 
vote.


Thanks,
Gianny


- --
#kenP-|}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

Millennium hand and shrimp!
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBRJVk7prNPMCpn3XdAQIn3gQAlrUGNSNUZomw99D6efCrF2vGysX7lFVf
OXGXMBcygerrUCoT7ldp0nylh18FDDiiYWoTzzAxsTWjYodwjUGVrbTX6Q/3o+hF
Q+liFMYqo5p46kI2DZdbz8T//s/MsztCt9JC/zmAu5oYfQZtOpRe/t/aaJcie6Dy
gCuDNpG/X4Y=
=SBLj
-END PGP SIGNATURE-


 






Re: [announce] Apache Geronimo welcomes Joe Bohn as our newest committer

2006-06-20 Thread Gianny Damour

Congratulations Joe!

Gianny

Sachin Patel wrote:

In recognition of his contributions to the Apache Geronimo community,  
the Geronimo PMC is proud to announce the committership of Joe Bohn.   
Joe has contributed in many areas, including the console and as of  
recent, the work on our minimal distributions.


His work shows initiative, concern to get user feedback, empathy for  
problems faced by other committers and willingness to work on fixing  
these problems. We look forward to his continued involvement as a  
committer.


Please join us in congratulating Joe.

The Apache Geronimo PMC








Re: [VOTE] Geronimo 1.1, DayTrader 1.1 and Specs 1.1 Final-2 Vote

2006-06-21 Thread Gianny Damour

+1

Gianny

Matt Hogstrom wrote:

The corrections applied due to license files are first in this list.  
Thanks to John for dogging this.


The distributions and builds were not affected.  Based on previous 
feedback the vote continues. Thanks for your feedback.




*Geronimo 1.1 Version*
   *Source*
 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-1.1-final-2.1_src.tar.gz 

 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-1.1-final-2.1_src.zip 



John noted that the source zip had a META-INF.  I've created a script 
to use in the future because with so many changes forgetting to use 
zip and typing jar is not acceptable. Also, note that the build itself 
has the LICENSE and NOTICES in two different places.  The are located 
in modules/scripts/src/main/resources/ which put the right files in 
the distributions however they werenot correctly specified for source 
as the LICENSE and NOTICES are part of the source tree. After this 
release we need to address this issue so as to avoid manual problems 
like this.


   *DayTrader 1.1 Version*
 *Source*
   
http://people.apache.org/~hogstrom/1.1-final2/daytrader_src-1.1-final-2.1.tar.gz 

   
http://people.apache.org/~hogstrom/1.1-final2/daytrader_src-1.1-final-2.1.zip 



Corrected LICENSE and NOTICES files.   Use zip rather than jar to 
create zip.


 *Ear*
   
http://people.apache.org/~hogstrom/1.1-final2/daytrader-ear-1.1-final-2.1.ear 



Corrected LICENSE and NOTICE files in ear.

John, whats the correct command to set the properties?  Or, would you 
like to address these?





No changes to the below files.

   *Full J2EE Jetty Version*
 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-jetty-j2ee-1.1-final-2.tar.gz 

 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-jetty-j2ee-1.1-final-2.zip 



   *Minimal Jetty Version*

 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-jetty-minimal-1.1-final-2.tar.gz 

 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-jetty-minimal-1.1-final-2.zip 



   *Full Tomcat Version*
 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-tomcat-j2ee-1.1-final-2.tar.gz 

 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-tomcat-j2ee-1.1-final-2.zip 



   *Minimal Tomcat Version*
 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-tomcat-minimal-1.1-final-2.tar.gz 

 
http://people.apache.org/~hogstrom/1.1-final2/geronimo-tomcat-minimal-1.1-final-2.zip 



   *Geronimo 1.1 Spec Jars*
 *Source*
  
http://people.apache.org/~hogstrom/1.1-final2/org.apache.geronimo.specs_src-1.1-final-2.tar.gz 

  
http://people.apache.org/~hogstrom/1.1-final2/org.apache.geronimo.specs_src-1.1-final-2.zip 



 *Binaries*
   
http://people.apache.org/~hogstrom/1.1-final2/org.apache.geronimo.specs-1.1-final-2.tar.gz 

   
http://people.apache.org/~hogstrom/1.1-final2/org.apache.geronimo.specs-1.1-final-2.zip 












Re: [VOTE] Release branching process (was Re: Life After 1.1 - starting the new branch for 1.1.1 - some logistics and your input requested.)

2006-06-22 Thread Gianny Damour

+1

Gianny

David Blevins wrote:


We had this whole conversation last week, lots of good discussion was
had.  I'd prefer not to have to have it again.  Here is my exact
understanding of our consensus and would like to put it to a vote to
avoid reinterpretation of that consensus in the future.

1.   branches/x.y would be the branch for all x.y.z releases

2.   when a release is frozen, we spin off a branch with that *exact*
 name, as in branches/x.y.z, where z starts at zero and increments
 by one.

3.   at that time branches/x.y is immediately updated to version
 x.y.(z+1)-SNAPSHOT

3.   We cut releases from the frozen branch

4.   When a release passes final tck testing and final vote, the
 frozen branch is moved to tags

We create a branch at freeze time for the following reasons:

1.  it takes *at least* one week from freeze to ship due to voting,
tck testing and potential repeats of that process (re-cut,
re-certify, re-vote).  There is no reason why work on x.y.z+1
needs to be delayed -- only 52 weeks a year.

2.  stronger guarantee no one is updating the branch once frozen

3.  less likely that people and ci systems (continuum) will checkout
and build pre-release versions of x.y.z (not x.y.z-SNAPSHOT) which
would need to be removed manually and may accidentally be
distributed.

4.  it is currently very difficult to roll version numbers forward,
entries here and there are often missed.  Far better to have
branches/x.y have a few straggling old x.y.z-SNAPSHOT versions
than a few overlooked x.y.z final numbers that needed to go back
to SNAPSHOT -- they never leave SNAPSHOT and need to be reverted
back later if that process happens in the frozen branch.


Here is my +1


--  David



On Jun 21, 2006, at 4:14 PM, Matt Hogstrom wrote:

After the branches/1.1 was moved to tags there was some question as  
to what happened to the 1.1 branch.  At that time some kind soul  
created a new branches/1.1.1.  No activity has occurred in that  
branch and given that we'll need to define the release goals of  
1.1.1 soon I'd like to propose the following.


After 1.1 is released:

* Delete branches/1.1.1
* Move branches/1.1.0 to tags/1.1.0
* Copy tags/1.1.0 to branches/1.1.1
* Update branches 1.1.1 to be 1.1.1-SNAPSHOT
* Start working on 1.1.1

When 1.1.1 enters time for release

* Move branches/1.1.1 to branches/1.1.1.0
* Change version from 1.1.1-SNAPSHOT to 1.1.1
* Create release candidate rc1
* put out for a vote
* get a successful vote with no respins :)
* move from branches/1.1.1.0 to tags/1.1.1.0

Based on all the confusion in the past I think this procedure makes  
it clear what phase were in for the release as well as avoids  
tagging and branching repeatedly.


I'm looking for lazy consensus and not a formal vote.

Matt










WADI Integration Preview

2006-07-02 Thread Gianny Damour

Hi,

I have been working on a second integration attempt of WADI and I am 
posting here a high-level description of the current state of progress 
such that people can jump in.


At this stage, this is a Jetty only attempt and I do believe that the 
same approach can be applied for Tomcat. The current integration 
provides (very unreliable) HttpSession state migration. It only works 
for a single Web-application; more effort is required on the WADI side 
to support multiple Web-applications and this will not impact the 
integration piece of code. I (more or less successfully) tested the 
integration with mod_proxy + mod_proxy_balancer and mod_proxy + 
mod_rewrite in front of three Geronimo servers running the WADI demo 
web-app.


The code changes are:
* new module to capture some clustering contracts – geronimo-clustering: 
there Node, SessionManager, Session and ClusteredInvocation are defined.
* new module to provide a WADI implementation of the above – 
geronimo-clustering-wadi;
* new module to capture clustering builder contracts – 
geronimo-clustering-builder: there is only one interesting interface 
JettyClusteringBuilder. This later defines a couple of methods to 
augment the environment of a Web module being built and add clustering 
specific GBeans;
* new module to provide a WADI implementation of the above – 
Geronimo-clustering-builder-wadi; and
* geronimo-jetty-builder and geronimo-jetty are impacted to hook in 
clustering. These two modules depend on geronimo-clustering and 
geronimo-clustering-builder and not on WADI specific modules.


Two new modules are added:
* jetty-clustering- wadi: this module defines default WADI GBeans such 
as Dispatcher, ReplicationManagerFactory, BackingStrategyFactory et 
cetera; and
* jetty-clustering-builder-wadi: this module defines a builder to 
process Jetty DD and add various GBeans to the module being built.


I think that the implementation is flexible enough to plug in another 
clustering implementation such as Kache.


As a matter of fact, there are some severe reliability (e.g. locking 
issues) and integration (only one Web-app can be clustered) issues, 
which need to be fixed. So, this work is not yet ready to be RTC voted 
and I do not think that it will before a couple of weeks. Having said 
that, I have opened a JIRA 
(http://issues.apache.org/jira/browse/GERONIMO-2163) such that people 
can have a look to the integration.


Thanks,
Gianny




Re: [RTC] pluggable jacc

2006-07-04 Thread Gianny Damour

Hi,

I had a look to the patch and I think that it will take me about one 
night to review it. As I will be on holidays this Friday, only 2 nights 
left, and away from any computer for 3 weeks, I am happy to vote now if 
need be.


I do have a couple of questions, more for my education than anything else:
* why is the root security element used as a placeholder for group 
substitution in the geronimo-application schema? I would have thought 
that this placeholder would be better in the geronimo-security schema 
where the out-of-the-box/Geronimo substitution group is defined; and
* I think that SecurityBuilder should have a way to modify the 
Environment of a Web-app module and, hence, that an additional method 
should be added to do that during the createModule phase. Otherwise, I 
am not sure how additional parent modules or specific dependencies can 
be added to a Web-app module such that the GBeans added by the builder 
can run.


Also, it is worth to underline that the definition of a substitutable 
service element, which is currently replaceable by a gbean element seems 
to be a very flexible configuration mechanism.


What would be awesome is to be able to register additional 
ElementConverter with SchemaConversionUtils such that developers working 
on their home grown substitution groups do not need to change this class.


Obvisously, I am sold :)

Thanks,
Gianny

David Jencks wrote:

I think my latest patch for pluggable jacc is plausible to commit,  
see http://issues.apache.org/jira/browse/GERONIMO-1563?page=all and  
be sure to apply only the v4 patches.


I realize this is a significant amount of work, so at this time I'm  
not actually asking any PMC members to review this, but I would  
greatly appreciate it if at least 3 could spend a couple minutes  
estimating how long they think it would take them to evaluate the  
patch and when they might be able to complete evaluating it, as this  
will personally affect my plans for the next few weeks.


I think all the committers and other contributors might find this  
information useful in planning their development activities for the  
next few months.


Many thanks,
david jencks








Re: [RTC] pluggable jacc

2006-07-04 Thread Gianny Damour

Gianny Damour wrote:


Hi,

I had a look to the patch and I think that it will take me about one 
night to review it. As I will be on holidays this Friday, only 2 
nights left, and away from any computer for 3 weeks, I am happy to 
vote now if need be.


I do have a couple of questions, more for my education than anything 
else:
* why is the root security element used as a placeholder for group 
substitution in the geronimo-application schema? I would have thought 
that this placeholder would be better in the geronimo-security schema 
where the out-of-the-box/Geronimo substitution group is defined; and
* I think that SecurityBuilder should have a way to modify the 
Environment of a Web-app module and, hence, that an additional method 
should be added to do that during the createModule phase. Otherwise, I 
am not sure how additional parent modules or specific dependencies can 
be added to a Web-app module such that the GBeans added by the builder 
can run.


Also, it is worth to underline that the definition of a substitutable 
service element, which is currently replaceable by a gbean element 
seems to be a very flexible configuration mechanism.


What would be awesome is to be able to register additional 
ElementConverter with SchemaConversionUtils such that developers 
working on their home grown substitution groups do not need to change 
this class.


Forget this point... While trying to see how this could be done I 
discovered that it is actually already done, by XmlBeansUtil...


Thanks,
Gianny



Obvisously, I am sold :)

Thanks,
Gianny

David Jencks wrote:

I think my latest patch for pluggable jacc is plausible to commit,  
see http://issues.apache.org/jira/browse/GERONIMO-1563?page=all and  
be sure to apply only the v4 patches.


I realize this is a significant amount of work, so at this time I'm  
not actually asking any PMC members to review this, but I would  
greatly appreciate it if at least 3 could spend a couple minutes  
estimating how long they think it would take them to evaluate the  
patch and when they might be able to complete evaluating it, as this  
will personally affect my plans for the next few weeks.


I think all the committers and other contributors might find this  
information useful in planning their development activities for the  
next few months.


Many thanks,
david jencks













Re: Patches in RTC (Geronimo - August 4, 2006)

2006-08-04 Thread Gianny Damour

This is simply awesome! Thanks for that David.

Gianny

[EMAIL PROTECTED] wrote:


Geronimo - August 4, 2006

 9 Patches in RTC

   [XBEAN-33] [RTC] Add a new Wiki source generator that generates wiki markup 
so that reference docs can be pasted into confluence.
 - Assignee: Hiram Chirino
 - Reporter: Hiram Chirino
 - Created:  Tue, 1 Aug 2006 13:03:57 -0700 (PDT)
 - Updated:  Tue, 1 Aug 2006 13:13:56 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/XBEAN-33

   [XBEAN-19] [RTC] Enable inverse classloading with the classpath element
 - Assignee: Guillaume Nodet
 - Reporter: Guillaume Nodet
 - Created:  Fri, 16 Jun 2006 14:13:24 -0700 (PDT)
 - Updated:  Tue, 1 Aug 2006 01:33:30 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/XBEAN-19

   [GERONIMODEVTOOLS-93] Support for non-plugin archives for installable 
runtimes
 - Assignee: Sachin Patel
 - Reporter: Sachin Patel
 - Created:  Mon, 31 Jul 2006 07:22:56 -0700 (PDT)
 - Updated:  Thu, 3 Aug 2006 14:26:10 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/GERONIMODEVTOOLS-93

   [GERONIMO-2248] Applications portlets: List Parent and Child components 
against each component
 - Assignee: Unassigned
 - Reporter: Vamsavardhana Reddy
 - Created:  Sun, 30 Jul 2006 08:15:34 -0700 (PDT)
 - Updated:  Tue, 1 Aug 2006 02:08:20 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/GERONIMO-2248

   [GERONIMO-2224] Add a geronimo specific system property for controlling dom, 
sax, and transformer creation
 - Assignee: Dain Sundstrom
 - Reporter: Dain Sundstrom
 - Created:  Mon, 24 Jul 2006 14:02:56 -0700 (PDT)
 - Updated:  Fri, 4 Aug 2006 12:12:30 -0700 (PDT)
 - Votes: 1
 1  Donald Woods
 - http://issues.apache.org/jira/browse/GERONIMO-2224

   [GERONIMO-2163] WADI Integration for Jetty
 - Assignee: Gianny Damour
 - Reporter: Gianny Damour
 - Created:  Sun, 2 Jul 2006 14:16:35 -0700 (PDT)
 - Updated:  Fri, 4 Aug 2006 12:03:16 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/GERONIMO-2163

   [GERONIMO-2084] The transaction manager needs uncesseraly ties users to the 
TransactionContextManager implementation
 - Assignee: Unassigned
 - Reporter: Guillaume Nodet
 - Created:  Mon, 5 Jun 2006 14:47:20 -0700 (PDT)
 - Updated:  Fri, 4 Aug 2006 12:01:23 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/GERONIMO-2084

   [GERONIMO-2015] Let's replace JKS to PKCS12 key store type
 - Assignee: Unassigned
 - Reporter: Nikolay Chugunov
 - Created:  Fri, 12 May 2006 14:54:17 -0700 (PDT)
 - Updated:  Fri, 4 Aug 2006 12:00:00 -0700 (PDT)
 - Votes: 0
 - http://issues.apache.org/jira/browse/GERONIMO-2015

   [GERONIMO-1563] [RTC] Make the JACC implementation pluggable
 - Assignee: David Jencks
 - Reporter: David Jencks
 - Created:  Wed, 1 Feb 2006 02:26:12 -0800 (PST)
 - Updated:  Fri, 4 Aug 2006 12:02:25 -0700 (PDT)
 - Votes: 2
 1  Alan Cabrera
 2  Donald Woods
 - http://issues.apache.org/jira/browse/GERONIMO-1563


NOTE: This email is generated and does not constitute and offical
vote or vote result.  All official voting is done on the dev list.

If you do not see your issue here, click the Begin RTC Review
link under the Available Workflow Actions of the JIRA page.

If you do not see your vote here, click the Vote link under the
Operations section of the JIRA page.


*** ALL COMMUNITY MEMBERS ARE ENCOURAGED TO VOTE ***



 






Re: Regarding Exploded Deployments

2006-08-04 Thread Gianny Damour

Manu George wrote:


Hi,
  Does Geronimo support exploded deployments of ear's that
contain wars and jars using --inPlace Argument? When I try to deploy
daytrader by extracting it  to a directory and passing the path to the
directory as an argument to deploy along with --inPlace it is giving
an error

java.lang.Error: Only local file jars are supported 
jar:file:/C:/1.1samples/samp
les/applications/daytrader/target/test/daytrader-ear-1.1/web.war!/WEB-INF/lib/st 


andard-1.1.1.jar


There is a bug in the deployment of war module defining libraries within 
WEB-INF/lib/ when this module is inside an ear module. I will fix this 
problem.



What is the correct format of an exploded EAR. Will it have the
ejb-jar and webapp-war exploded as well? OR will geronimo support non
exploded format as well?


In the case of an in-place deployment, nested modules are auto-exploded 
upon deployment, if need be. For instance, if there is a non-exploded 
war module mywar.war within an ear, then the war is renamed 
mywar.war.saved, a sub-directory mywar.war is created and 
mywar.war.saved is unjarred within it.


Thanks,
Gianny



Regards
Manu






Re: Regarding Exploded Deployments

2006-08-07 Thread Gianny Damour

Hi Manu,

Thanks for having a look at this piece of code. EJB modules do not need 
to be auto-exploded as they are JAR modules and the classloader used to 
load EJB classes (a MulitParentClassLoader) can directly load classes 
from JARs. In the case of WEB modules, they need to be exploded as, 
AFAIK, Jetty and Tomcat do not support packed WAR modules.


Also, while re-reading my email, I spotted a potential 
mis-interpretation. The problem you are raising only happens when an EAR 
module contains a non-exploded WAR module. In other words, if you unjar 
web.war within a web.war sub-folder, then everything should be OK.


Thanks,
Gianny

Manu George wrote:


Hi Gianny,
 Thanks for the explanation. Are ejb modules also auto
exploded? I saw that war's are exploded but ejb modules don't seem to
be auto exploded. Any reason for this?

Thanks
Manu

On 8/5/06, Gianny Damour [EMAIL PROTECTED] wrote:


Manu George wrote:

 Hi,
   Does Geronimo support exploded deployments of ear's that
 contain wars and jars using --inPlace Argument? When I try to deploy
 daytrader by extracting it  to a directory and passing the path to the
 directory as an argument to deploy along with --inPlace it is giving
 an error

 java.lang.Error: Only local file jars are supported
 jar:file:/C:/1.1samples/samp
 
les/applications/daytrader/target/test/daytrader-ear-1.1/web.war!/WEB-INF/lib/st 



 andard-1.1.1.jar

There is a bug in the deployment of war module defining libraries within
WEB-INF/lib/ when this module is inside an ear module. I will fix this
problem.

 What is the correct format of an exploded EAR. Will it have the
 ejb-jar and webapp-war exploded as well? OR will geronimo support non
 exploded format as well?

In the case of an in-place deployment, nested modules are auto-exploded
upon deployment, if need be. For instance, if there is a non-exploded
war module mywar.war within an ear, then the war is renamed
mywar.war.saved, a sub-directory mywar.war is created and
mywar.war.saved is unjarred within it.

Thanks,
Gianny


 Regards
 Manu












Re: Drop the m1 build

2006-08-07 Thread Gianny Damour

+1

Gianny

Dain Sundstrom wrote:

I propose we remove the m1 build.  It has been broken for several  
days now and no one has noticed.  Here is my vote:


+1 to remove the m1 build

-dain







Re: [WELCOME] Please welcome alan Cabrera as the newest member of the Geronimo PMC

2006-08-14 Thread Gianny Damour

Congrats Alan!

Gianny


On 15/08/2006, at 4:14 AM, Matt Hogstrom wrote:

The Apache Geronimo PMC would like to let everyone know that Alan  
Cabrera has accepted the invitation to join the Geronimo PMC.  We  
are excited to have Alan assisting with project oversight in  
addition to his technical contributions to Geronimo.


Alan has been active in Geronimo for many years and has helped not  
only to help in Geronimo directly but in related efforts like Ode,  
Yoko and others.


Give it up for Alan :)

The Apache Geronimo PMC




Re: Move trunk, tags and branches to server/*

2006-08-16 Thread Gianny Damour

+1

Gianny

On 16/08/2006, at 11:49 AM, Matt Hogstrom wrote:


+1...good first step

Jason Dillon wrote:
I think we should move the top-level trunk, tags and branches to  
server/*.  This will make the top-level of our repository more  
consistent.

Specifically, I think we should:
svn mkdir https://svn.apache.org/repos/asf/geronimo/server
svn mv https://svn.apache.org/repos/asf/geronimo/tags https:// 
svn.apache.org/repos/asf/geronimo/server/tags
svn mv https://svn.apache.org/repos/asf/geronimo/trunk https:// 
svn.apache.org/repos/asf/geronimo/server/trunk
svn mv https://svn.apache.org/repos/asf/geronimo/branches https:// 
svn.apache.org/repos/asf/geronimo/server/branches
And then update the pom's in server/trunk to reflect the new  
location for scm tags.

--jason




Re: svn commit: r432773 - /geronimo/trunk/modules/geronimo-testsupport/src/main/java/org/apache/geronimo/testsupport/TestSupport.java

2006-08-18 Thread Gianny Damour

On 19/08/2006, at 9:15 AM, [EMAIL PROTECTED] wrote:


Author: jdillon
Date: Fri Aug 18 16:15:53 2006
New Revision: 432773

URL: http://svn.apache.org/viewvc?rev=432773view=rev
Log:
Comments about BASEDIR and IDE magic

Modified:
geronimo/trunk/modules/geronimo-testsupport/src/main/java/org/ 
apache/geronimo/testsupport/TestSupport.java


Modified: geronimo/trunk/modules/geronimo-testsupport/src/main/java/ 
org/apache/geronimo/testsupport/TestSupport.java
URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/geronimo- 
testsupport/src/main/java/org/apache/geronimo/testsupport/ 
TestSupport.java?rev=432773r1=432772r2=432773view=diff
== 

--- geronimo/trunk/modules/geronimo-testsupport/src/main/java/org/ 
apache/geronimo/testsupport/TestSupport.java (original)
+++ geronimo/trunk/modules/geronimo-testsupport/src/main/java/org/ 
apache/geronimo/testsupport/TestSupport.java Fri Aug 18 16:15:53 2006

@@ -37,6 +37,12 @@
 private static final File BASEDIR;

 static {
+//
+// TODO: Add some special magic here to figure this out  
when we are running from
+//   and IDE, like IDEA or Eclipse.  user.dir/target  
might work... but need

+//   to validate what env each IDE has this set to.
+//
+
 String tmp = System.getProperty(basedir);


Hi Jason,

This is the trick that Dain has suggested:

private static final tmp = System.getProperty(basedir,  
System.getProperty(user.dir));



Thanks,
Gianny




 if (tmp == null) {
 throw new Error(Missing 'basedir' property; tests  
need this property set to run correctly);







[RTC] WADI Integration for Jetty

2006-08-20 Thread Gianny Damour

Hi,

I sent an email some time ago about some work being done to integrate  
WADI once again with Geronimo (subject was WADI Integration Preview).


In the current stage, load-balancing is working reliably with two  
Geronimo instances behind an Apache server using mod_rewrite. I would  
like this piece of work to be reviewed and discussed.


The JIRA is https://issues.apache.org/jira/browse/GERONIMO-2163. I  
have added some set-up comments such that it is easy to trial it.  
Note that you will need recent WADI dependencies (Jules, if you tell  
me how to deploy the WADI artefacts to the CodeHaus repo, then I am  
happy to do it).


So far, what is provided is really basic (e.g. replication is not yet  
enabled), however I would like to see if people are generally happy  
with the current approach prior to enable other features.


Thanks,
Gianny



Re: TranQL EJBQL

2006-08-20 Thread Gianny Damour

Hi Andrus,

Indeed, so far there is no plan to implement JPA on top of TranQL.  
Thanks for asking if your JPA QL work could somehow benefit to  
TranQL. Also, if you find some interesting pieces of code in TranQL  
that you would like to reuse, then please feel free to let me know.


Thanks,
Gianny


On 19/08/2006, at 10:27 PM, Andrus Adamchik wrote:

I am cc'ying to Gianny (hope I got the right address), but I'd  
still like to keep the thread public.


Since the response from others (Matt) was essentially JPA QL  
support is not planned, and we need it now, I already started  
working on the parser on Cayenne side using JavaCC (I know TranQL  
uses antlr, but for Cayenne parser it made sense to stick with  
JavaCC if only to avoid extra runtime lib dependencies). I have the  
basic grammar in place, and hopefully should check it in soon. If  
there are any ideas or comments, or a desire to make it reusable  
outside Cayenne, let me know.


Andrus

On Aug 18, 2006, at 8:38 PM, Dain Sundstrom wrote:
I don't think there are any plans, but you should send an email to  
Gianny as he is the only one working on the EJBQL code.


If Cayenne is planing on using this code also, you two should talk  
about bringing TranQL to Apache (maybe the db project).


-dain

On Aug 17, 2006, at 8:57 PM, Andrus Adamchik wrote:

Not sure if there is such thing as TranQL mailing list, so I  
figured, I'll ask here.


Are there any plans to extend TranQL with EJB3 QL support?

Thanks
Andrus









Re: Disallow 1.5 on trunk (until its actually supported)?

2006-08-20 Thread Gianny Damour

+1

Gianny


On 20/08/2006, at 5:44 PM, Jason Dillon wrote:

I keep running into problems switching my local jdk (ala setjdk)  
from 1.4 to 1.5 and forgetting to switch it back again when making  
G builds.


I though it would be nice if the build would fail early if I had  
the wrong JDK configured.  So, I wroke a require-java-version goal  
in a new tools-maven-plugin (in Genesis), which allows the build to  
fail early.  It uses Mac OS X-style version suffix tokens (+ and *)  
to allow selection.


http://geronimo.apache.org/maven/genesis/plugins/tools-maven- 
plugin/usage.html


I've set it up for GShell which needs 1.5, but I was wondering if  
we should configure this goal in trunk and set it to 1.4* so that  
if you are using 1.5 it will puke early with a meaningful error.


Seems like folks who build with 1.5 run into errors... so maybe its  
a good thing to force 1.4?


Thoughts?

--jason






Re: svn commit: r432773 - /geronimo/trunk/modules/geronimo-testsupport/src/main/java/org/apache/geronimo/testsupport/TestSupport.java

2006-08-20 Thread Gianny Damour

This is cool that this also works in IDEA.

Regarding this proble, this is the script that I use to fix  
the .classpath (from the geronimo dir):
ls */*/.classpath | while read file; do cat $file | grep -v classes/ 
META-INF  ${file}_new; mv ${file}_new $file; done


BTW, in Eclipse System.getProperty(basedir, System.getProperty 
(user.dir)) was working as by default Eclipse starts JUnit tests in  
the project working directory, i.e. the module root.


Thanks,
Gianny


On 21/08/2006, at 2:25 PM, Jason Dillon wrote:


This was more what I was thinking:

snip
protected final File getBaseDir() {
File dir;

// If ${basedir} is set, then honor it
String tmp = System.getProperty(basedir);
if (tmp != null) {
dir = new File(tmp);
}
else {
// Find the directory which this class (or really the sub- 
class of TestSupport) is defined in.
String path = getClass().getProtectionDomain().getCodeSource 
().getLocation().getFile();


// We expect the file to be in target/test-classes, so go  
up 2 dirs

dir = new File(path).getParentFile().getParentFile();

// Set ${basedir} which is needed by logging to initialize
System.setProperty(basedir, dir.getPath());
}

return dir;
}
/snip

Appears to work well too, in IDEA at least, probably works fine in  
Eclipse too... but I've got a ton of Cannot nest output folder...  
errors that prevent me from actually checking.


--jason


On Aug 19, 2006, at 8:11 AM, Dain Sundstrom wrote:

I don't think that trick will work for an IDE, as it will only  
tell you which directory the IDE started in.  In intellij you can  
use something like this:


public static String baseDir() {
Class myClass = null; // TestClass.class

URL classUrl = myClass.getClassLoader().getResource 
(myClass.getName().replace('.', '/') + .class);

if (classUrl == null) {
throw new RuntimeException(Could not find TestClass);
}

File targetDir = null;
try {
URLConnection urlConnection = classUrl.openConnection();

if (urlConnection instanceof JarURLConnection) {
JarURLConnection jarConnection =  
(JarURLConnection) urlConnection;

classUrl = jarConnection.getJarFileURL();

targetDir = new File(new URI(classUrl.toString 
())).getParentFile();

} else {
File classesDir = new File(new URI 
(classUrl.toString())).getParentFile();

for (char c : myClass.getName().toCharArray()) {
if (c == '.') {
classesDir = classesDir.getParentFile();
}
}
}
} catch (Exception e) {
log.debug(Could not determine classes installation  
directory, e);

}

if (targetDir != null) {
File moduleDir = targetDir.getParentFile();
return moduleDir.getAbsolutePath();
} else {
return System.getProperty(basedir, System.getProperty 
(user.dir));

}

}

Make sure to test this code, because I didn't :)

-dain


On Aug 18, 2006, at 4:47 PM, Jason Dillon wrote:

Ya, I will add that as soon as I can verify that it works in IDEA  
an Eclipse... probably sometime next week.


--jason


On Aug 18, 2006, at 4:31 PM, Gianny Damour wrote:


On 19/08/2006, at 9:15 AM, [EMAIL PROTECTED] wrote:


Author: jdillon
Date: Fri Aug 18 16:15:53 2006
New Revision: 432773

URL: http://svn.apache.org/viewvc?rev=432773view=rev
Log:
Comments about BASEDIR and IDE magic

Modified:
geronimo/trunk/modules/geronimo-testsupport/src/main/java/ 
org/apache/geronimo/testsupport/TestSupport.java


Modified: geronimo/trunk/modules/geronimo-testsupport/src/main/ 
java/org/apache/geronimo/testsupport/TestSupport.java
URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/ 
geronimo-testsupport/src/main/java/org/apache/geronimo/ 
testsupport/TestSupport.java? 
rev=432773r1=432772r2=432773view=diff
== 

--- geronimo/trunk/modules/geronimo-testsupport/src/main/java/ 
org/apache/geronimo/testsupport/TestSupport.java (original)
+++ geronimo/trunk/modules/geronimo-testsupport/src/main/java/ 
org/apache/geronimo/testsupport/TestSupport.java Fri Aug 18  
16:15:53 2006

@@ -37,6 +37,12 @@
 private static final File BASEDIR;

 static {
+//
+// TODO: Add some special magic here to figure this  
out when we are running from
+//   and IDE, like IDEA or Eclipse.  user.dir/ 
target might work... but need

+//   to validate what env each IDE has this set to.
+//
+
 String tmp = System.getProperty(basedir);


Hi Jason,

This is the trick that Dain has suggested:

private static final tmp = System.getProperty(basedir,  
System.getProperty(user.dir));



Thanks,
Gianny




 if (tmp == null

Re: [RTC] WADI Integration for Jetty

2006-08-21 Thread Gianny Damour

Hi Matt,

Thanks for having a look at it. As a matter of fact, I have been  
pretty useless with respect to reviewing patches; so, it is me who  
owes the apologies.


Regarding the work in sandbox, I had a look to it when working on  
this patch. Even if I am not relying on it, I think that this work  
can be easily leveraged in the context of the proposed changes.


Thanks,
Gianny


On 21/08/2006, at 11:58 PM, Matt Hogstrom wrote:


Gianny,

I will look at it this week.  I had seen that it was out there for  
review but required more time than I had available in a single  
shot.  Apologies for my tardiness.


There is also some clustering work in sandbox that I think Jeff was  
working on.  Are these complimentary efforts or completely separate?


Gianny Damour wrote:

Hi,
I sent an email some time ago about some work being done to  
integrate WADI once again with Geronimo (subject was WADI  
Integration Preview).
In the current stage, load-balancing is working reliably with two  
Geronimo instances behind an Apache server using mod_rewrite. I  
would like this piece of work to be reviewed and discussed.
The JIRA is https://issues.apache.org/jira/browse/GERONIMO-2163. I  
have added some set-up comments such that it is easy to trial it.  
Note that you will need recent WADI dependencies (Jules, if you  
tell me how to deploy the WADI artefacts to the CodeHaus repo,  
then I am happy to do it).
So far, what is provided is really basic (e.g. replication is not  
yet enabled), however I would like to see if people are generally  
happy with the current approach prior to enable other features.

Thanks,
Gianny




Re: svn commit: r394422 - in /geronimo/branches/1.1/modules: deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/jmx/ deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/local/ deploy-

2006-04-16 Thread Gianny Damour
Actually, my first pass was an ExtendedDeploymentManager defining a 
distribute method taking such an additional parameter. I drop this idea 
to implement this one because I wanted to stick to the JSR88 API.


Thanks,
Gianny

Aaron Mulder wrote:


OK.  A little cheesy to set the flag, do the thing, and then unset the
flag, but I guess it works for 1.1.  Maybe I'll put in a JIRA to make
this work better somehow (like call a Geronimo-specific method on the
DeploymentManager that implies or takes an argument for an in-place
deployment).

Thanks,
   Aaron

On 4/15/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 


Author: gdamour
Date: Sat Apr 15 18:24:00 2006
New Revision: 394422

URL: http://svn.apache.org/viewcvs?rev=394422view=rev
Log:
Attempt to address Aaron's -1:

-1 to this change: the DeploymentManager can be used for many
operations in succession, and as written, the in-place flag is
persistent once set, whereas it my opinion in should only apply to a
single operation and if you do another deployment on the same
deployment manager you should need to specify the flag each time if
you want it each time

Modified:
   
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/jmx/CommandContext.java
   
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java
   
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/CommandDistribute.java

Modified: 
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/jmx/CommandContext.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/jmx/CommandContext.java?rev=394422r1=394421r2=394422view=diff
==
--- 
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/jmx/CommandContext.java
 (original)
+++ 
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/jmx/CommandContext.java
 Sat Apr 15 18:24:00 2006
@@ -39,6 +39,14 @@
this.inPlace = inPlace;
}

+public CommandContext(CommandContext prototype) {
+this.logErrors = prototype.logErrors;
+this.verbose = prototype.verbose;
+this.username = prototype.username;
+this.password = prototype.password;
+this.inPlace = prototype.inPlace;
+}
+
public boolean isLogErrors() {
return logErrors;
}

Modified: 
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java?rev=394422r1=394421r2=394422view=diff
==
--- 
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java
 (original)
+++ 
geronimo/branches/1.1/modules/deploy-jsr88/src/java/org/apache/geronimo/deployment/plugin/local/CommandSupport.java
 Sat Apr 15 18:24:00 2006
@@ -247,7 +247,7 @@
}

public void setCommandContext(CommandContext commandContext) {
-this.commandContext = commandContext;
+this.commandContext = new CommandContext(commandContext);
}

public static ModuleType convertModuleType(ConfigurationModuleType type) {

Modified: 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/CommandDistribute.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/CommandDistribute.java?rev=394422r1=394421r2=394422view=diff
==
--- 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/CommandDistribute.java
 (original)
+++ 
geronimo/branches/1.1/modules/deploy-tool/src/java/org/apache/geronimo/deployment/cli/CommandDistribute.java
 Sat Apr 15 18:24:00 2006
@@ -63,9 +63,15 @@
Cannot perform in-place deployment.);
}
JMXDeploymentManager jmxMgr = (JMXDeploymentManager) mgr;
-jmxMgr.setInPlace(true);
+try {
+jmxMgr.setInPlace(true);
+return mgr.distribute(tlist, module, plan);
+} finally {
+jmxMgr.setInPlace(false);
+}
+} else {
+return mgr.distribute(tlist, module, plan);
}
-return mgr.distribute(tlist, module, plan);
}

protected String getAction() {



   





 






Re: svn commit: r394439 [1/3] - in /geronimo/branches/1.1: ./ applications/console-core/src/java/org/apache/geronimo/console/util/ applications/console-standard/src/java/org/apache/geronimo/console/ca

2006-04-16 Thread Gianny Damour

[EMAIL PROTECTED] wrote:


Author: ammulder
Date: Sat Apr 15 23:35:09 2006
New Revision: 394439

URL: http://svn.apache.org/viewcvs?rev=394439view=rev
Log:
Services can be deployed with a JAR and plan, or a plan in the JAR at
 META-INF/geronimo-service.xml (GERONIMO-1859)
Improvements to configuration import/export, including more metadata
 and no installations just to gather metadata
Improved handling for Artifacts that are missing parts (effectively
 wildcards)

 


snip


Modified: 
geronimo/branches/1.1/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java
URL: 
http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java?rev=394439r1=394438r2=394439view=diff
==
--- 
geronimo/branches/1.1/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java
 (original)
+++ 
geronimo/branches/1.1/modules/service-builder/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java
 Sat Apr 15 23:35:09 2006
@@ -27,12 +27,15 @@
 


snip



DeploymentContext context = new DeploymentContext(outfile, 
null,environment, ConfigurationModuleType.SERVICE, naming, repositories, 
configurationStores);
+if(jar != null) {
+if(inPlaceDeployment) {
+//todo: add the JAR to the configuration Class Path and do 
whatever else we need to (may need to set in-place directory on the 
DeploymentContext just above?)
+throw new UnsupportedOperationException(In-place deployments are 
not supported yet for services);
+} else {
+File file = new File(jar.getName());
+context.addIncludeAsPackedJar(URI.create(file.getName()), jar);
+}
+}
try {
ClassLoader cl = context.getClassLoader();

 

I have refactored DeploymentContext to easily add support for in-place 
deployment of services (in a few words InPlaceEARContext has been 
removed and DeploymentContext delegates to two distinct strategies). 
Aaron, if you plan to work on in-place deployment of services, then I 
think that I will get to that tomorrow during the day - so, if you can 
wait until then...


Thanks,
Gianny




Re: svn commit: r394439 [1/3] - in /geronimo/branches/1.1: ./ applications/console-core/src/java/org/apache/geronimo/console/util/ applications/console-standard/src/java/org/apache/geronimo/console/ca

2006-04-16 Thread Gianny Damour
Actually, I hooked it in during my last commit; so, you can give it a 
shoot now.


Thanks,
Gianny

Aaron Mulder wrote:


On 4/16/06, Gianny Damour [EMAIL PROTECTED] wrote:
 


I have refactored DeploymentContext to easily add support for in-place
deployment of services (in a few words InPlaceEARContext has been
removed and DeploymentContext delegates to two distinct strategies).
Aaron, if you plan to work on in-place deployment of services, then I
think that I will get to that tomorrow during the day - so, if you can
wait until then...
   



If you can hook this up for services too that would be great!

Thanks,
   Aaron



 






in-place deployment - description

2006-04-18 Thread Gianny Damour

Hi,

I think that in-place deployment is now complete and here is a short 
description of how it works:


* a module is deployed in-place, via the distribute --inPlace usual 
parameters command;
* only unpacked modules can be deployed in-place. If a packed module is 
deployed in-place, then the distribute command fails;
* when a module is redeployed, the cli automatically retrieves if it was 
initially deployed in-place. If it was, then the module is redeployed 
in-place. Note that the redeploy command does not provide a switch to 
perform an in-place re-deployment; and
* when an EAR module is deployed in-place, the WAR and RAR modules that 
it bundles are automatically unpacked, if need be. Basically, if we have:


META-INF/application.xml
myWeb.war

After deployment, we have:

META-INF/application.xml
myWeb.war.saved  -- myWeb.war has been renamed to this
myWeb.war/ -- myWeb.war has been unzipped in this folder

Regarding this automatic unpack, it seems that we may instead want to 
throw an exception in such a scenario. I am happy to remove this feature 
if it is too dangerous.


At this stage, in-place deployment requires an explicit action from the 
user. It seems that we want to have by default in-place deployment for 
unpacked modules. Any objection to this change?


Thanks,
Gianny



Re: [jira] Closed: (GERONIMO-1871) Unable to deploy Tapestry app due to classloading issue

2006-04-22 Thread Gianny Damour
Actually, the fix is already in 1.1 (I just checked via the Subversion 
Commits tab that the commit has not disappeared into the ether).


Thanks,
Gianny

Dain Sundstrom wrote:


+1 absolutely

Can you do it?

-dain

On Apr 22, 2006, at 7:36 PM, Jeff Genender wrote:


Can we get this in 1.1?  This is a pretty nasty bug.

Jeff


Gianny Damour (JIRA) wrote:


 [ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
 Gianny Damour closed GERONIMO-1871:
---
Resolution: Fixed
The problem was that the TCCL was set to the Tomcat  
WebAppClassLoader and not the Geronimo TomcatClassLoader.  
WebAppClassLoader was defining all the jars in WEB-INF/lib, its  
parent was TomcatClassLoader, which was also defining these jars.  
Hence this duplication.



Unable to deploy Tapestry app due to classloading issue
---

 Key: GERONIMO-1871
 URL: http://issues.apache.org/jira/browse/GERONIMO-1871
 Project: Geronimo
Type: Bug
Security: public(Regular issues)   Components: kernel
Versions: 1.2
 Environment: Windows XP
Reporter: Bryan Noll
Assignee: Gianny Damour
Priority: Critical







Re: [announce] Welcome Apache Geronimo's newest committer - Rick McGuire

2006-04-24 Thread Gianny Damour

Well done Rick and Welcome on board!

Gianny

Kevan Miller wrote:


Congratulations Rick!
--kevan
On Apr 21, 2006, at 2:59 PM, Geir Magnusson Jr wrote:

In recognition of his contributions and participation in the Apache  
Geronimo community,  the Geronimo PMC is proud to announce the  
committership of Rick McGuire.


Rick has contributed in many places, and is a pleasure to work  with, 
and we look forward to his continued involvement as a committer.


Please join us in congratulating Rick.

The Apache Geronimo PMC










Re: 1.1 Build failure

2006-04-25 Thread Gianny Damour

Hi Rick,

I also faced this problem and just checked in a fix for it.

Thanks,
Gianny

Rick McGuire wrote:

I'm getting a build failure that I don't seem to see anybody else 
getting.  I'm doing fresh checkout and build, and the build fails with 
the following error:


test:test:
   [echo] No tests to run.
   [touch] Creating 
C:\Geronimo\builds\1.1\applications\demo\target\test-report

s\tstamp

war:webapp:
   [echo] Assembling webapp geronimo-demo
   [mkdir] Created dir: 
C:\Geronimo\builds\1.1\applications\demo\target\geronim

o-demo\WEB-INF\lib
   [mkdir] Created dir: 
C:\Geronimo\builds\1.1\applications\demo\target\geronim

o-demo\WEB-INF\tld
   [mkdir] Created dir: 
C:\Geronimo\builds\1.1\applications\demo\target\geronim

o-demo\WEB-INF\classes
   [echo] Use classes.jar ? true

BUILD FAILED
File.. C:\Geronimo\builds\1.1\maven.xml
Element... maven:reactor
Line.. 53
Column 110
Unable to obtain goal [multiproject:install-callback] -- 
C:\Geronimo\builds\1.1\
etc\maven.xml:241:93: ant:move 
C:\Geronimo\builds\1.1\applications\demo\target

\geronimo-demo\WEB-INF\work not found.
Total time: 11 minutes 28 seconds
Finished at: Tue Apr 25 06:49:02 EDT 2006


This is easily fixed by delete 3 lines from etc/maven.xml that deals 
with moving files from the work directory.  I'm not sure, however, if 
that's the correct fix.  Are those lines obsolete and require 
deleting, or is something else failing here?  Why don't others seem to 
be seeing this problem?


Rick








Re: [announce] Apache Geronimo welcomes Guillaume Nodet as our newest committer

2006-04-29 Thread Gianny Damour

Congratulations Guillaume!

Gianny

Dain Sundstrom wrote:

The Apache Geronimo PMC is proud to announce Guillaume Nodet as our  
newest Apache Geronimo committer, and look forward to his continued  
great work on XBean and the Geronimo integration with Service Mix.


His work shows initiative, concern to get user feedback, empathy for  
problems faced by other committers and willingness to work on fixing  
these problems.  Guillaume has consistently brought unique and very  
difficult use cases to the XBean project (along with patches), and it  
is these diverse requirements that will ultimately make XBean a success.


We believe he will be an excellent addition to the project and will  
help foster these values in others.


Please join us in congratulating Guillaume,

The Apache Geronimo PMC







Re: [wadi-dev] Re: Tomcat version in G1.1 for clustering

2006-05-03 Thread Gianny Damour

Hi,

Jeff, I do know that you are working hard on preparing the release of 
G1.1; however, when you get more time, could you please try to expand a 
little bit on this subject?


I am curious to see how the Session API has been implemented and how it 
is leveraged to provide clustering capabilities. I recently had a look 
to the Session API and I am sure that WADI can easily provide an 
implementation.


Also, I think that many users have been waiting for a more robust 
(clustering) solution and I believe that WADI can provide an enhanced 
implementation of the Session API for G1.2. Obviously, your work will 
help WADI developers to understand how to hook in WADI.


Thanks,
Gianny

Jules Gosnell wrote:


Jeff Genender wrote:


Hi Matthew,

Ultimately clustering should not be based on WADI directly, but for
components that implement the session API interface.  We want to make
clustering components pluggable, so there is no hard coded clustering 
agent.
 


With my WADI hat on:

Agreed - this is the correct approach - however, for reasons stated in 
the related threads on this list, I believe that the proposed API has 
been positioned at the wrong level of abstraction. As such, I believe 
that it actually acts as a barrier to WADI's integration.



I am unaware of WADI's status regarding its implementation of the
session API.  Jules or Greg would need to comment on this.
 

I've given this a lot of consideration and come to the conclusion, 
that, whilst I have every intention of WADI and Geronimo being 
integrated, this integration is unlikely to occur via the proposed API 
in its current form. I think that WADI will continue to go down the 
route of integrating its front end directly with the tier in question, 
whilst exposing its backend to Geronimo management facilities.



We (Geronimo) will have a session clustering component that will be
offered as a part of Geronimo that will implement the session API
interface shortly. Its been a side project for a couple of weeks ;-)
 


With my Geronimo hat on:

Sounds interesting. Is the design discussion going on in public 
somewhere or are you integrating an existing component? I am sure that 
there are many people on the list who would be interested in 
participating.



Relative to the Tomcat clustering, yes this is an interim capability to
allow for clustering the web tier.  Although it will always be
available, I believe we will have a more robust solution that works
across all component in the near future.  Stay tuned ;-)
 


You bet :-)


Jules


Jeff

Matthew Jording wrote:
 


Jeff, Dave,

  I would like to implement a Geronimo Cluster Management Web Service
and need some additional information on the advances of WADI
integration. The current clustering examples seem to only be concerned
with tomcat web tier clustering and doesn't seem to use WADI to
facilitate the management of the sessions.

Thanks
Matt


Jeff Genender wrote:
  


Dave,

Thanks for doing this.

Jeff

Dave Colasurdo wrote:




I've validated that the Geronimo clustering example
(http://opensource.atlassian.com/confluence/oss/display/GERONIMO/Geronimo+Clustering+Example) 



still works for Geronimo 1.1 (with Tomcat 5.5.9).  The application
deployment plan (attached to email) required some changes.

I'm now rebuilding G1.1 with Tomcat 5.5.15 to determine if the
clustering Gbeans and plans still work..

-Dave-

Jeff Genender wrote:



IIRC, 5.5.15 went to backward compatibility...

http://mail-archives.apache.org/mod_mbox/tomcat-users/200512.mbox/[EMAIL PROTECTED] 





Perhaps Filip can fill us in on this.

If I remember right, the 5.5.9 clustering GBeans will work on 
forward

versions.  So I don't think there is a problem there.  HEAD has been
set
to 5.5.15 for quite some time.

Nevertheless, it doesn't hurt to try em out ;-)

Jeff

Dave Colasurdo wrote:



Jeff (et al.),

Will G1.1 definitely be upgraded to Tomcat 5.5.15?

IIRC, the clustering deployment plans were quite different for 
5.5.9
-vs- 5.5.12.  If we upgrade to 5.5.15, we will likely need a new 
plan

that accounts for both the webcontainer upgrade as well as the new
G1.1
plan format..

Thanks
-Dave-

Jeff Genender wrote:



Thanks Rainer.  But I think 5.5.15 will be the one for 1.1.  But
possibly 5.5.17 for 1.2 ;-)

Jeff

Rainer Jung wrote:



Just for your information: 5.5.16 was released a couple of weeks
ago,
but has some problems with de delivered packaginf of examples app
under
windows.

5.5.17 is expected to be cut on friday and voted stable
eventually 1-2
weeks later.

Jeff Genender wrote:



Yep...need to update the plan.  Its updated in trunk.

Dave Colasurdo wrote:



It appears that G1.1 is still using Tomcat 5.5.9

http://svn.apache.org/repos/asf/geronimo/branches/1.1/etc/project.properties 









Wasn't a tomcat upgrade to 5.5.15 in plan for G1.1??  
Perhaps I am

confused with the plans for 

Re: 1.1 Package Upgrade List

2006-05-11 Thread Gianny Damour

Kevan Miller wrote:



On May 9, 2006, at 12:42 PM, Matt Hogstrom wrote:


Consolidated list so far is:

Axis from   1.4-356167  to  1.4
commons-fileupload1.1-devto1.1
jasper from 5.5.9   to  5.5.15
Jetty from  5.1.9   to  5.1.10
stax from   1.1.1-dev   to  1.1.2
Tomcat 5.5.9to5.5.15
tranql  from1.2.1   to  1.3-SNAPSHOT
tranql-connector from   1.1 to  1.2-SNAPSHOT



We're already on Tomcat 5.5.15, but fine to keep it on the list.

I assume the final tranql and tranql-connector versions will be 1.3  
and 1.2. We'll use the SNAPSHOT versions until a new tranql release  
is published (which will happen before we ship 1.1...).


As a matter of fact, an upgrade to TranQL 1.3 requires some code changes 
to OpenEJB (repackaging). Also, it would be nice to port dynamic queries 
from trunk to 1.1. If there is no objection, I propose to do that this 
week-end and ensure that this does not break the tck.


Thanks,
Gianny



I'll start testing these versions once we clean up a few problems.

--kevan






Re: Remaining 1.1 Issues

2006-05-23 Thread Gianny Damour

Matt Hogstrom wrote:

Based on the list below I think 1,2 and 3 are new function and 4 is a 
bug fix.


Aaron Mulder wrote:


Here are the things that I still want to squeeze into 1.1:
- fix console JMS to accept new providers at runtime
- fix console security realms to accept new providers at runtime
- add a missing Geronimo security provider to console security realms
- fix hot deploy dir so it notices files updated while the server was
down and deletes files if they are undeployed some other way

There are also AFAIK a number of not-yet-applied patches to review.



Yes, there are several.

I'm testing some performance related code.  I'm waiting and hoping 
Codehaus comes up soon :)


I think that I will give some heads up: I am also waiting for Codehaus 
to be back on line to apply an OpenEJB patch related to GERONIMO-1545 
(infamous CASE WHEN ? THEN ? ELSE ). The patch does not break the tck.


Thanks,
Gianny





Thanks,
   Aaron











Re: Moving on from 1.1

2006-05-23 Thread Gianny Damour

+1

Gianny

Matt Hogstrom wrote:

Jason replied on another thread that he prefers to stay with 1.2 for 
the release.


Here is the proposed nomenclature

trunk(stays 1.2 but is completely replaced with branches/1.1)
branches/1.1unchanged
branches/dead-1.2 (is  a copy of the original trunk)

I think that incorporates the thinking so far.  I like it.

Matt

Matt Hogstrom wrote:

I would like to make the following changes to the dev tree for 
Geronimo.  Assuming there is concurrence and no objections I would 
like to:


 move geronimo/trunk to geronimo/branches/oldtrunk
 copy geronimo/branches/1.1 to geronimo/trunk
 Update trunk to version 1.3.  I think 1.3 is a better choice to 
avoid any confusion over our old 1.2


 I'll plan to do this on Wednesday morning at 0300 PT.

 Other thoughts welcome.

 Matt











Re: PATCH from GERONIMO-2006

2006-05-23 Thread Gianny Damour

+1

Gianny

David Jencks wrote:

I'd like to apply the patch http://issues.apache.org/jira/secure/ 
attachment/12334350/GERONIMO-2006.patch


from http://issues.apache.org/jira/browse/GERONIMO-2006

It fixes a buffer overflow problem in tomcat (which presumably  
doesn't need a vote since it's a bug fix) and does some simple checks  
on the plan you supply to upgrade the plan if it is clearly a 1.0 plan.


here's my +1.  I'd like to know if it counts, see my separate post  
asking about this.


here's the text of the patch: again I'd like to know if this is  
required or if the link to the jira issue is sufficient.


Thanks
david jencks






Re: [continuum] BUILD ERROR: Geronimo

2006-05-29 Thread Gianny Damour

Hi,

I think that Continuum needs some help here. Can someone who has access 
to stan try to sort it out? (I think that deleting modules/console-web 
should do the trick).


Thanks,
Gianny

continuum wrote:


Online report : 
http://ci.gbuild.org/continuum/servlet/continuum/target/ProjectBuild.vm/view/ProjectBuild/id/1/buildId/3625
Build statistics:
 State: Error
 Previous State: Error
 Started at: Mon, 29 May 2006 02:01:02 -0700
 Finished at: Mon, 29 May 2006 02:01:27 -0700
 Total time: 24s
 Build Trigger: Schedule
 Exit code: 0
 Building machine hostname: stan.gbuild.org
 Operating system : Linux(unknown)
 Java version : 1.4.2_08(Sun Microsystems Inc.)

Changes
 No files changed
 


Build Error:

Provider message: The svn command failed.
Command output: 
---

svn: Failed to add directory 'modules/console-web': object of the same name 
already exists
---




 






Booth at OSCON Portland - IBM logistical and financial support

2006-06-02 Thread Gianny Damour

Hi,

I believe that OSCON is offering free booth space to the ASF. The 
registration deadline for the next OSCON in Portland (end of July) is 
this Monday, June 5.


IBM is offering the PRC logistical and financial support, e.g. t-shirts 
et cetera, for this upcoming event. IBM wants to help as they provide 
support offerings for Apache Geronimo and their WebSphere Application 
Server Community Edition is based on Geronimo; hence, their interest in 
promoting Geronimo at OSCON.


If people are interested to staff the booth, then please respond as soon 
as possible as the registration needs to be submitted before Monday. If 
we have enough people, then we will register and contact IBM to 
determine how they can help.


Thanks,
Gianny



Re: Results of testing Gianny's TranQL Performance Improvements for CMP entity beans

2006-06-05 Thread Gianny Damour

Hi Matt,

Thanks for posting these results :)

Matt Hogstrom wrote:


Gianny,

I applied your changes to fix the double execution.  It looks like the 
modifications you made overall improved performance by about 10% (from 
1445 to 1591).  However, I still see the double execution of the SQL 
for the Quote bean.  So we can still eek out some extra performance.  
The best number on the servers I tested has been about 2000 so we're 
almost there :)


When you say double execution, do you mean:

1. SELECT Q.symbol FROM QuoteEJB Q WHERE Q.symbol = ?;  followed by
2. SELECT Q.symbol, Q.low, Q.open1, Q.volume, Q.price, Q.high, 
Q.companyName, Q.change1 FROM QuoteEJB Q WHERE Q.symbol = ?


as reported under the *With TranQL Changes:* section?

If yes, then I am not sure how this can be fixed without caching. The 
first query maps to the findByPrimaryKey method. After its execution, 
the transactional cache is being flushed as all the methods of QuoteEJB 
have a CMT set to Required and PingServlet2EntityLocal does not 
demarcate tx. As a consequence, the transactional cache is now empty. 
The second query maps to a row-fault event when getDataBean is invoked. 
There is a row-fault because the transactional cache is empty.


With caching of CMP across transactions, the row-fault event does not 
happen: the cache is queried and a record is found.




Here are the stats from the testing I did tonight.

*Before TranQL Change:*
06/04/200622:02:25 IWL0060I Page throughput = *1445.272 /s*

This data is already in the JIRA.

*With TranQL Changes:*
06/04/200622:50:45 IWL0060I Page throughput = *1591.233 /s*


snip




*With TranQL CMP Caching Option:*
06/04/200623:01:09 IWL0060I Page throughput = *1988.110* /s

These are the queries that are being executed while caching is 
enabled.  Note the difference between the queries.  I'm not sure why 
this is.


The first query, 973 exec, is a row-fault query. The second query maps 
to findByPrimaryKey; it is the result of a transformation of SELECT 
Q.symbol FROM QuoteEJB Q WHERE Q.symbol = ? to fetch a group of fields 
at the same time than the primary key. In this case, the group to be 
prefetched is pretty simple: all the QuoteEJB CMP fields. However, the 
engine can fetch a graph of objects in a single pass.


Thanks,
Gianny



 Number of executions   = 973
 Number of compilations = 1
 Total execution time (sec.ms)  = 0.052875
 Total user cpu time (sec.ms)   = 0.015625
 Total system cpu time (sec.ms) = 0.015625
 Statement text = SELECT Q.symbol, Q.low, Q.open1, 
Q.volume,
 Q.price, Q.high, Q.companyName, Q.change1 FROM QuoteEJB Q WHERE 
Q.symbol = ?


 Number of executions   = 221945
 Number of compilations = 1
 Total execution time (sec.ms)  = 12.888160
 Total user cpu time (sec.ms)   = 9.843750
 Total system cpu time (sec.ms) = 1.515625
 Statement text = SELECT Q.symbol, Q.symbol, 
Q.low, Q.open1, Q.volume, Q.price, Q.high, Q.companyName, Q.change1 
FROM QuoteEJB Q WHERE Q.symbol = ?


Matt







Re: [jira] Commented: (GERONIMO-1638) Multiple servers sharing the same repo and config store

2006-06-09 Thread Gianny Damour

Hi Dave,

Thanks for pointing this problem out. I simply forget to provide an AMQ 
patch to fix it; this is now done: 
http://issues.apache.org/activemq/browse/AMQ-746.


Also, this feature is broken in 1.1. Basically, SharedLib and 
FileKeystoreManager do not properly resolve their resources and, as a 
consequence, the server simply shuts down.


Thanks,
Gianny

Dave Colasurdo wrote:

BTW, I think additional fixes are required in 1.1.1 before claiming 
support for multiple concurrent server instances from a single 
installation..


Awhile back I was able to start the server using an external var 
directory (via -Dorg.apache.geronimo.server.dir).  After changing all 
the ports and trying to start a second instance from the default 
location, I encountered a startup exception regarding the activemq 
transaction journal.  Suspect code changes are needed to relocate the 
journal to a location outside the installation directory.


Thanks
-Dave-

John Sisson (JIRA) wrote:

[ 
http://issues.apache.org/jira/browse/GERONIMO-1638?page=comments#action_12415496 
]

John Sisson commented on GERONIMO-1638:
---

Currently working on scripts as discussed at 
http://www.mail-archive.com/dev@geronimo.apache.org/msg22807.html . 
Have made changes but they need to be tested on windows, cygwin and 
unix, so looks like this is going to be for 1.1.1 .





Multiple servers sharing the same repo and config store
---

 Key: GERONIMO-1638
 URL: http://issues.apache.org/jira/browse/GERONIMO-1638
 Project: Geronimo
Type: New Feature
Security: public(Regular issues)   Components: usability
Versions: 1.0
Reporter: Gianny Damour
Assignee: John Sisson
 Fix For: 1.1




David J. sent to the dev mailing list:
Many people have talked on and off about how to set up multiple  
servers sharing the same repository and config-store, but we 
haven't  arrived at an agreed on way to do it.  We have a 
prospective customer  for this feature (Vincent Massol with Cargo) 
so I'd like to move  beyond thinking about it in my head, discuss 
it, and have someone  implement it.  I believe any implementation 
will be more or less  trivial, the hard part is figuring out what to 
do.
I've only thought of ways to extend what we have now, rather than  
restructure anything or add big new capabilities.  If someone sees 
a  better way, please speak up.
So, we have a ServerInfo gbean that knows where geronimo is located  
and can resolve absolute locations for other components.  Then we  
have things like the repository and config store gbeans that  
typically are located outside the var dir and things like the  
logging framework,  local attribute manager, derby, and tomcat, 
that  typically keep stuff in the var directory.
All or most of these start with the first configuration loaded so  
they can't have any attributes overridden by config.xml: in fact 
this  file is read by one of the gbeans that we need to relocate.
I've thought of two related solutions.  Both of them involve giving  
ServerInfo knowledge of another path and another resolve method.
One would be something like resolveVar and would normally resolve  
to geronimo_home/var.  This would involve all the gbeans currently  
looking inside var having the var trimmed off the front of their  
paths and using the new resolveVar method.  In this case we'd have  
different servers represented as e.g.

var1
var2
var3
...
The other would give ServerInfo something like resolveServer which  
would normally resolve to geronimo_home.  The gbeans looking inside  
var would keep their current paths and just call the new resolve  
method instead of the old one.  In this case we'd have servers like

var
server1/var
server2/var
...
In either case I think starting geronimo with a command line 
argument  pointing to the var directory is the only way to specify 
which server  you want to run; the default would presumably be as 
now var.
Several people have suggested putting an additional config-store 
into  var for private use by a particular server.  At the moment I 
think   that providing a different config-store class that uses the 
new  resolve  method on server info would be the best way to do this.
I'm not attached to these ideas but this is as far as my thinking 
has  gone.  Please comment.

thanks
david jencks











Re: Key Generator Questions

2006-06-13 Thread Gianny Damour

Hi Neal,

Thanks for this feedabck. You are correct: it is pretty easy to write 
some initialization code to create a sequence table and insert a value. 
As a matter of fact, if you have a look to 
org.tranql.pkgenerator.SequenceTablePrimaryKeyGenerator.initSequenceTable() 
you can see that is is indeed super easy.


At some point, the sequence table was systematically initialized. As 
reported by GERONIMO-682 - Automatic key generators too restrictive 
(http://issues.apache.org/jira/browse/GERONIMO-682), this approach was 
not considered as appropriate. I think that when the primary key 
generators have been refactored this problem has been partially fixed.


Could you please open a JIRA to track the need of an optional element 
enabling sequence table generation?


Thanks,
Gianny

Neal Sanche wrote:


Hi All,

Yesterday I had some fun with the sequence-table key generator. I had 
this fragment at the end of my Entity deployment plan.


 pkgen:key-generator
   pkgen:sequence-table
 pkgen:table-namesequence/pkgen:table-name
 pkgen:sequence-namereminder/pkgen:sequence-name
 pkgen:batch-size1/pkgen:batch-size
   /pkgen:sequence-table
 /pkgen:key-generator

I know, I should increase my batch-size, but really I am only doing 
one at a time. But that's not my problem. Why doesn't the 
key-generator create the table if it doesn't already exist? It took me 
quite some time to figure out that it was looking for a table with two 
columns, one called 'name' and one called 'value'. Yeah, I know, it's 
pretty easy to guess it, but I couldn't find it documented. I'm sure I 
didn't look everywhere, and could have looked in the source code to 
find the columns.


Once I created my table, the application started throwing exceptions 
like crazy! It turned out the misleading 'Transaction already rolled 
back' errors were because the record in the table didn't exist. I'm 
sure it would be super easy to create the record if it wasn't already 
there, and start the numbering at 1. I'm just so surprised it doesn't 
already have this ability. I'm sure I'm missing something, right?


So, as far as I know, in order to get the key generator to work, I 
have to create the sequence table:


create table sequence (name varchar(240) not null primary key, value 
integer);


And then add the sequence key:

insert into sequence values ('reminder',1);

And then it'll go. Before that it just complains loudly and rolls back 
my transaction.


What am I missing?

Cheers.

-Neal









Re: RELEASE-NOTES-1.1

2006-06-14 Thread Gianny Damour

Hi Donald,

There are very good points. How would you expect the server to behave in 
such scenarios? Currently the server will simply shut-down and, to some 
extent, I think that this is a safe behaviour.


Thanks,
Gianny

Donald Woods wrote:

What happens in the case that the files no longer exist on the next 
server startup?  Two scenarios I'm worried about:
1) files were loaded from an NFS/Samba/SMB share which has become 
disconnected
2) Eclipse users who deploy the app into the server, test it, stop the 
server and then delete the project and files from Eclipse



-Donald


Aaron Mulder wrote:


On 6/13/06, Lin Sun [EMAIL PROTECTED] wrote:

I am trying to learn what the in-place deployment mean and how to 
use it.

My understanding was that users can update the hot deploy files (for
example, update one jsp file) in the Geronimo_home\deploy directory and
server will redeploy the change automatically.   This was not 
working in

1.0, as users need to replace the entire directory in the
Geronimo_home\deploy directory.




That should be true in both 1.0 and 1.1 (if not, I guess it's a bug).

But in 1.1, there is a separate option, which is to not copy your
files to the hot deploy directory at all, but instead use the deploy
tool with a special option to enable an in-place deployment.  This
means that instead of copying your files into the server directory at
all, it will deploy and access them from wherever they currently are.

Thanks,
   Aaron


But after reading your note below, I think I am lost.   Please advise.

Lin

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Aaron
Mulder
Sent: Thursday, June 08, 2006 7:23 PM
To: dev@geronimo.apache.org
Subject: Re: RELEASE-NOTES-1.1

 - We should add a point about in-place deployment.  Geronimo
supports in-place deployment, which means an archive or directory can
be deployed without being copied into the Geronimo directory tree.












Re: [VOTE] Matt Hogstrom as Release Manager (Re: Getting V1.0 out the door - first step ;-P)

2005-11-17 Thread Gianny Damour

+1

Gianny

Davanum Srinivas wrote:


+1 for Matt as the Release Manager. Let's do it :)

Matt,
Please familiarize yourself with how other projects do it and how prev
releases were done. First step would be a release plan.

thanks,
dims

On 10/19/05, Matt Hogstrom [EMAIL PROTECTED] wrote:
 


All,

We got a couple of +1's about getting G out the door by ApacheCon.  I'd like to
start formalizing our thinking about it and I think the first step is getting
someone to step up and volunteer to lead the effort.

I'll throw my hat in the ring as, at least for me, it will be a good learning
experience in pulling everything together.  And for everyone else as well so
they can see how badly I suck at all things administrative :)

For those more experienced and knowledgable ones out there that don't want to
miss out on this great opportunity here is your opportunity to say, No, Matt, I
would love to do it!!!

In the unlikely event that I end up with the opportunity I'll start preparing by
reviewing what we did last time when Jeff lead the team to Release victory.

Don't be shy

- Matt


   




--
Davanum Srinivas : http://wso2.com/blogs/



 






Re: NEW - [VOTE] sponsor WADI to become sub-projects of Geronimo

2005-11-18 Thread Gianny Damour

+1

Gianny

Jeff Genender wrote:

The current PMCs of WADI have overwhelmingly voted to become a 
Geronimo sub-project.


The incubator proposal is here...

http://wiki.apache.org/incubator/WadiProposal

Please vote if you'd like Geronimo to be the sponsor of the project 
during incubation


[ ] +1 = I support the move to sponsor WADI during incubation as 
sub-projects of Geronimo

[ ] +0 = I don't mind either way
[ ] -1 = I don't support this move because: ___

I'm obviously +1 :)

Jeff







Re: [VOTE] Sponsor OpenEJB to become sub-project of Geronimo

2005-12-03 Thread Gianny Damour

+1

Gianny

David Blevins wrote:

The OpenEJB committers have discussed it and voted to be become a  
Geronimo sub-project.  The incubator proposl is here:


http://wiki.apache.org/incubator/OpenEjbProposal

Please vote if you'd like Geronimo to be the sponsor of OpenEJB  
during incubation


[ ] +1 = I support the move to sponsor OpenEJB during incubation as a  
sub-project of Geronimo

[ ] +0 = I don't mind either way
[ ] -1 = I don't support this move because: ___

+1 from me






Re: [Vote] Alternate Proposal for Branch V1.0 for Geronimo at 23:59 PST 12/7

2005-12-07 Thread Gianny Damour

+1

Gianny

Matt Hogstrom wrote:

One more time.  Based on wildly popular feedback.  Here is an 
alternate branching proposal.


[ ] +1 Branch V1.0 at 23:59 PST 12/7
[ ] -1 Defer branching provide proposed alternative

Matt








Re: OpenEJB Question

2005-12-10 Thread Gianny Damour

Hi Manu,

This method is always supposed to get a String value.

When a custom primary key is used, its type must be declared in the 
ejb-jar.xml DD via the prim-key-class element. Also, the primkey-field 
elements in both the ejb-jar.xml DD and openejb-jar.xml DD must not be 
set; these elements should be used only whne the CMP has a simple 
primary key. Could you please confirm that none of these elements have 
been set?


Thanks,
Gianny

Manu George wrote:


Hi,
   I am facing a problem with some CMP EJBs with custom PrimaryKey 
Classes. I am getting the EJBs deployed but during invoking of the 
findbyprimarykey method I am getting a TransactionRolledBack 
Exception. On investigating the cause of this I found that it was due 
to  a ClassCastException that was ocurring in TranQL. In the class 
org.tranql.sql.jdbc.binding.StringBinding
there is a method setValue. Here during execution the value parameter 
contains the custom primary key class cast as Object. In the setString 
method it gives a ClassCastException. Shouldn't this be a 
value.toString() here? or is this method always supposed to get just a 
string value?


  public void setValue(PreparedStatement ps, Object value) throws 
SQLException {

ps.setString(index, (String) value);
}

Is there any specific property we need to put in openejb-jar.xml when 
we use complex PrimaryKey classes over and above the entries in 
ejb-jar.xml?
Also for the primkey-field value in the openejb-jar.xml what do we 
put if we have a complex primary key consisting of 2 fields?


Thanks
Manu
 






Re: Fwd: OpenEJB Question

2005-12-13 Thread Gianny Damour

Hi Manu,

Thanks for your debugging! This was a bug in IdentityDefinerBuilder, 
which was wrongly trying to identify a compound PK based on the number 
of primary key fields.


This is now fixed.

I will create a JIRA to track this issue tomorrow as it seems that JIRA 
is down tonight.


Thanks,
Gianny

Manu George wrote:


Hi Gianny,

I have done all that you mentioned. I am still getting the error.I 
have replicated the issue in a simple EJB,the example CMP in Ed 
Roman's book Mastering EJB. I am attaching the stack trace and the 
plans below


17:02:05,211 WARN  [SystemExceptionInterceptor] Product



snip


While i was debugging I saw a method
public IdentityTransform getPrimaryKeyTransform(Entity entity) in the 
class IdentityDefinerBuilder. Here based on size of pkFields the 
SimplePKTransform or CompoundPKTransform class is selected.
In the case of a custom class with 1 field also the SimplePKTransform 
is selected.
Is this how it should behave? Could you give a general idea of how the 
primary key values are taken from the Custom classes in OpenEJB?



Thanks
Manu





Re: Fwd: OpenEJB Question

2005-12-13 Thread Gianny Damour

Hi Manu,

This was a simple TranQL fix. So, you simply need to build TranQL and 
drop it in your repo (you do not need a full rebuild of Geronimo).


Thanks,
Gianny

Manu George wrote:


Hi Gianny

Great to know its fixed. Will try it out after building geronimo from 
source.


Thanks
Manu
On 12/13/05, *Gianny Damour* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


Hi Manu,

Thanks for your debugging! This was a bug in IdentityDefinerBuilder,
which was wrongly trying to identify a compound PK based on the number
of primary key fields.

This is now fixed.

I will create a JIRA to track this issue tomorrow as it seems that
JIRA
is down tonight.

Thanks,
Gianny

Manu George wrote:

 Hi Gianny,

 I have done all that you mentioned. I am still getting the error.I
 have replicated the issue in a simple EJB,the example CMP in Ed
 Roman's book Mastering EJB. I am attaching the stack trace and the
 plans below

 17:02:05,211 WARN  [SystemExceptionInterceptor] Product
 

snip

 While i was debugging I saw a method
 public IdentityTransform getPrimaryKeyTransform(Entity entity)
in the
 class IdentityDefinerBuilder. Here based on size of pkFields the
 SimplePKTransform or CompoundPKTransform class is selected.
 In the case of a custom class with 1 field also the
SimplePKTransform
 is selected.
 Is this how it should behave? Could you give a general idea of
how the
 primary key values are taken from the Custom classes in OpenEJB?


 Thanks
 Manu








Re: Fwd: OpenEJB Question

2005-12-14 Thread Gianny Damour

Hi Aaron,

I'm happy to cut a 1.2.2 TranQL release tomorrow night. However, and as 
pointed out by Manu, there was also an OpenEJB impact. So, it seems that 
we also need to re-cut an OpenEJB release. So far, I have checked in the 
fix to trunk and I will port the fix to the v2_0 branch if we decide to 
re-cut OpenEJB.


Thanks,
Gianny

Aaron Mulder wrote:


Gianny,

Did the fix go into TranQL?  Geronimo 1.0 is not using a TranQL
snapshot right now, so someone would need to cut a new TranQL release
for us to get the fix into Geronimo 1.0.

Thanks,
   Aaron

On 12/13/05, Gianny Damour [EMAIL PROTECTED] wrote:
 


Hi Manu,

Thanks for your debugging! This was a bug in IdentityDefinerBuilder,
which was wrongly trying to identify a compound PK based on the number
of primary key fields.

This is now fixed.

I will create a JIRA to track this issue tomorrow as it seems that JIRA
is down tonight.

Thanks,
Gianny

Manu George wrote:

   


Hi Gianny,

I have done all that you mentioned. I am still getting the error.I
have replicated the issue in a simple EJB,the example CMP in Ed
Roman's book Mastering EJB. I am attaching the stack trace and the
plans below

17:02:05,211 WARN  [SystemExceptionInterceptor] Product

 


snip

   


While i was debugging I saw a method
public IdentityTransform getPrimaryKeyTransform(Entity entity) in the
class IdentityDefinerBuilder. Here based on size of pkFields the
SimplePKTransform or CompoundPKTransform class is selected.
In the case of a custom class with 1 field also the SimplePKTransform
is selected.
Is this how it should behave? Could you give a general idea of how the
primary key values are taken from the Custom classes in OpenEJB?


Thanks
Manu
 



   




 






Re: OpenEJB PK issue

2005-12-14 Thread Gianny Damour

You are right! And thanks for reviewing my commits :)

Indeed, buildFaultHandler is still creating the wrong type of 
IdentityDefiner. I thought that all dependencies on the various 
IdentityDefiner implementations were removed from OpenEJB thanks to the 
introduction of IdentityDefinerBuilder; obviously, two references have 
been forgotten :(


About createCMPFieldAccessors, the 
relatedEntity.getPrimaryKeyFields().size()  test must also be replaced 
by an isCompoundPK test. However, it seems that we should add a special 
processing to handle a CMP field mapped to a FK column referencing the 
(single) PK column associated to a compound PK having a single field.


Thanks,
Gianny

Manu George wrote:


Hi Gianny,
Was just seeing the fix you made. 1 question on that.
In CMPContainerBuilder there are 2 methods

private FaultHandler buildFaultHandler(SQLQueryBuilder queryBuilder, 
EJB definingEJB, CMRField field, int slot, boolean prefetch) throws 
QueryException

and
 private LinkedHashMap createCMPFieldAccessors(SQLQueryBuilder 
queryBuilder, LinkedHashMap cmrFieldAccessor)


I feel that in both of these methods  instead of comparing based on 
relatedEntity.getPrimaryKeyFields().size() we need to change to 
ejb.isCompoundPK(). Am I right?


Thanks
Manu







Re: Another OpenEJB Question

2005-12-15 Thread Gianny Damour

Hi,

I am surpised that OrderItem.setOrder_orderId gives an error. Could you 
please provide the stack trace (the TranQL part + the first OpenEJB 
element) along with the DDs?


FWIW, there are a couple of integration tests for CMP and CMR overlap 
scenarios in the OpenEJB tree:

sub-project: modules/itests
test class: org.openejb.test.entity.cmp2.cmrmapping.CMRMappingFacadeBean
DDs:  src/cmp2/cmrmapping

Thanks,
Gianny

Manu George wrote:


Hi,

I have two CMPs with a 1:n relationship.
CMP1 -  Order - PK = OrderPK which has a single field orderId
CMP2  - OrderItem = OrderItemPk which has 2 fields InventoryId and 
order_orderId


OrderId and order_orderId are mapped
When i do a setOrder_orderId in the ejbCreate of OrderItem geronimo 
gives an error during runtime saying cannot set read only field.


When i don't set it geronimo says partial null key . In this case I 
set the cmr field in the ejbPostCreate method


 org.tranql.identity.UndefinedIdentityException: Partial null key
at 
org.tranql.identity.DerivedIdentity.defineIdentity(DerivedIdentity.java:80)
at 
org.openejb.entity.cmp.CMPCreateMethod.execute(CMPCreateMethod.java:175)
at 
org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)
at 
org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)
at 
org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81)
at 
org.openejb.entity.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:136)
at 
org.openejb.entity.cmp.InTxCacheInterceptor.invoke(InTxCacheInterceptor.java:90)
at 
org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)


Am I doing anything wrong here?

Regards
Manu






Re: OpenEJB PK issue

2005-12-15 Thread Gianny Damour

Hi Manu,

Once again, thanks for your debugging!

I had a look to the DD and I have identified why the itests showing this 
specifc case are working for us and not for you: basically in our test, 
we have a OTM relationship between a CMP with a simple PK on the 
one-side and a CMP with a compound PK on the many-side. Your case is 
slightly different: the CMP on the one-side has a compound PK and hence 
another code path is used.


Basically, the problem that you are raising is exactly what I was trying 
to describe in one of my previous email:


About createCMPFieldAccessors, the 
relatedEntity.getPrimaryKeyFields().size()  test must also be replaced 
by an isCompoundPK test. However, it seems that we should add a special 
processing to handle a CMP field mapped to a FK column referencing the 
(single) PK column associated to a compound PK having a single field.


Hm; I realise that this was far to be understandable.

This special processing works as follow:
1. if the CMP field, CMPField, is mapped to a FK column;
2. if the PK column referenced by this FK column is associated to a 
compound PK column;

3. if the compound PK uses more than one CMP field:
 3.1 then the accessor of CMPField must be read-only. (this is what we 
currently have)

4. otherwise:
 4.1 the accessor of CMPField must be read-write.

This purpose of the  if (null != 
ejb.getAssociationEndDefiningFKAttribute(name)) { block is to set the 
CMR field at the same time than the CMP field when a CMP field is mapped 
to a FK column. BTW, it seems that you are familiar with OpenEJB and 
TranQL; so, do you want to work on a patch to fix this problem? FYI, we 
have a large and very interesting piece of work ahead of us to support 
the persistence part of the EJB3 specification :)


Thanks,
Gianny


Manu George wrote:


Hi Gianny,
I put in a dirty hack and got my app working. The 
problem I was facing was in the
 private LinkedHashMap createCMPFieldAccessors(SQLQueryBuilder 
queryBuilder, LinkedHashMap cmrFieldAccessor) throws QueryException { 
method in CMPContainerBuilder


Here there is a   if (null != 
ejb.getAssociationEndDefiningFKAttribute(name)) {
check inside which the CMR foreign Key was set to a read only field 
during deployment. In my app the CMR FK is a part of the primary key 
also. So during ejbCreate it gives error saying that it is a readonly 
field. I just added a check to not go into this loop if the FK is also 
a part of the PK.
and the app seems to be working.  Hope this gives you more info abt 
the problem I am facing


Regards
Manu







Re: Regarding JIRA Geronimo-1374

2005-12-21 Thread Gianny Damour

Hi Manu,

I think that a new accessor for this specific case is a good idea. The 
set method is exactly what it should be. Though, I think that we should 
drop the pkClass.isIntance test: this set method is always  invoked with 
a CMP value, which is the unique field defined by the compound PK 
pkClass. Also, it seems that the get method should do something very 
similar. When we get the GlobalIdentity via cmrField, we want to 
retrieve the unique value of its underlying identity. To do that, we can 
use IdentityDefiner.extractIdentity, and then CMPFieldNestedRowAccessor.get.


Thanks for your work on this issue!
Gianny

Manu George wrote:


Hi Gianny,

Regarding JIRA Geronimo-1374


Modifying CompoundPKTransform was a very bad idea :-(. But it is 
required to create an Instance of the compound primary key somewhere 
and use it to get the GlobalIdentity as CompoundPKTransform is the 
transform used.  Is it  a  good idea to write another accessor 
specifically for this case? Then the creation of the PK instance can 
be moved to the accessor. But this requires the acessor to have access 
to the PKClass. Also this accessor will only be used for the special 
case that causes this error.


The set method of the accessor will be

public void set(InTxCache cache, CacheRow row, Object value) {
GlobalIdentity id;
Object pkObject;
if (!pkClass.isInstance(value)) {
try {
pkObject = pkClass.newInstance();
Field[] fields = pkClass.getFields();
fields[0].set(pkObject, value);
} catch (IllegalArgumentException e) {
throw new EJBException(Cannot extract global 
identity, e);

} catch (IllegalAccessException e) {
throw new EJBException(Cannot extract global 
identity, e);

} catch (InstantiationException e) {
throw new EJBException(Cannot extract global 
identity, e);

}
}
try {
id = transform.getGlobalIdentity(pkObject);
} catch (IdentityTransformException e) {
throw new EJBException(Cannot extract global identity, e);
}
cmpField.set(cache, row, value);
cmrField.set(cache, row, id);
}
  
OR

Should the existing accessor be modified to take care of this scenario?
OR
Is there some other way to resolve this issue?

Thanks
Manu






Re: GBean for auto generation of primary key

2006-01-03 Thread Gianny Damour

Hello Rakesh,

It is definitively useful. Dain has already created a JIRA for this 
issue: http://issues.apache.org/jira/browse/GERONIMO-1133. To contribute 
your custom PrimaryKeyGenerator, you need to attach to this JIRA your 
implementation and select the Grant license to ASF... radio button.


Ideally, we want to support out-of-the-box an UUID pk generator. This 
means that we want an additional choice element to the key-generatorType 
type defined by openejb-pkgen-2.0.xsd and push the pk generator 
implementation to TranQL. If you want to add out-of-the-box support, I 
am happy to provide more directions. If you are too busy right now, 
simply attach your current impl. and we will take care of it.


Thanks,
Gianny


Ranjan, Rakesh (Cognizant) wrote:

Hi Dims, 


I didn’t got your reply to my mail. Today I checked this thread. If you think 
this would be useful for the community, I will upload the related files. But I 
don’t know how to upload and what should be the format. Can u please guide me?

Regards

Rakesh Ranjan

This e-mail and any files transmitted with it are for the sole use of 
the intended recipient(s) and may contain confidential and privileged 
information.
If you are not the intended recipient, please contact the sender by 
reply e-mail and destroy all copies of the original message.
Any unauthorized review, use, disclosure, dissemination, forwarding, 
printing or copying of this email or any action taken in reliance on 
this e-mail is strictly

prohibited and may be unlawful.

Visit us at http://www.cognizant.com






Re: Fwd: [Fwd: [Vote] 1.0 Release - Do we ship it?]

2006-01-04 Thread Gianny Damour

+1 Release 1.0

Gianny

Sachin Patel wrote:


forwarding this on behalf of Matt...

- sachin



Begin forwarded message:


*From: *Matt Hogstrom [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
*Date: *January 3, 2006 9:47:28 AM EST
*To: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
*Subject: **[Fwd: [Vote] 1.0 Release - Do we ship it?]*

Can you forward thsi for me?  I'm still getting SPAM errors.  I've 
sent a note to Ken to see if he can help me decipher what's going on.


 Original Message 
Subject: [Vote] 1.0 Release - Do we ship it?
Date: Tue, 03 Jan 2006 09:21:30 -0500
From: Matt Hogstrom [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
To: dev@geronimo.apache.org mailto:dev@geronimo.apache.org

All,

We have had the last candidate out and available since 12/22.  I 
personally have
had a chance to put the 12/22 build under performance stress and I'm 
satisfied

that the build is stable and runs in a variety of modes using DayTrader.

Despite the Christmas Holidays I have seen some traffic related to 
htis release
on the list so some folks have been kicking it around as well.  At 
this time I'd

like to call a vote to release 1.0.

[ ] +1 Release 1.0
[ ] -1 Do not release 1.0 (Reasons included)

Looks like we got through the last remaining significant bugs and 
thansk to all

who worked up to the end to get this release out there.

Matt










Re: Regd OpenEJB

2006-01-06 Thread Gianny Damour

Hi Manu,

You are once again correct: let's remove this read-only decorator - this 
was a very bad idea - at least if the field is a PK one. This read only 
behavior was intended to prevent developers from changing a relationship 
to a CMP having a coumpond PK with multiple fields. Indeed, in this 
case, if the CMP field is updated, this implies that the relationship is 
(partially, as only one field is updated) updated and I am not sure that 
it is safe to let such a thing to happen.


Thanks for your work on this,
Gianny

Manu George wrote:


Hi Gianny,
I have a question on CMR
   Consider a Bean A and a bean B in a one to many CMR 
relationship

Here A has 2 fields in the PK say a1 and a2
B has b1 fka1 and fka2 as the pk where fka1 and 
fka2 are the foreign keys corressponding to the a1 and a2 of A.
In the ejbCreate of B when we set fka1 and fka2 won't 
OpenEJB throw an error saying that they are readonly fields. This will 
happen even after  implementing the logic for the special case where 
the CompoundPK has 1 field.  Is this scenario a valid scenario? If so 
can we change the check in createCMPFieldAccessors to check for 
primary key and allow write access to CMR fields if they are parts of 
Primary Keys? What should be the correct behaviour?


Thanks
Manu








Re: Regd OpenEJB

2006-01-10 Thread Gianny Damour

Hi Manu,

Manu George wrote:


Hi ,
  I am also not sure if this is a safe behaviour or even 
whether the ejb spec requires it. I have seen in a particular sun 
forum that the pk should not be part of any relation.

I have put the link below
http://archives.java.sun.com/cgi-bin/wa?A2=ind0203L=ejb-interestF=S=P=22402 
http://archives.java.sun.com/cgi-bin/wa?A2=ind0203L=ejb-interestF=S=P=22402.
If this is true then there is no issue at all with the existing code 
but I am not sure whether this is true as in some containers like 
Websphere this is allowed.  I went through the parts of the specs 
mentioned in the posting quickly but it didn't resolve my doubts.


We need to support the case where a pk column is also a fk column. For 
instance, SPECj is using such a mapping and our current implementation 
is able to run SPECj - we support the scenario where a compound pk 
field is mapped to a foreign key column referencing the pk column of a 
CMP having a simple pk class.




Another Issue that pops up if we allow to set the foreign key field is 
in the ejbPostCreate if the bean provider tries to set the cmrField 
the container will set the fk automatically and thereby try to change 
the PK which should not be done once an ejb is created.  So there also 
we need to add certain checks.


We are implementing such checks - at least for the case that we support. 
They are implemented by CMRMappedToInversePKCMP and 
CMRMappedToOwningPKCMP. We have a set of OpenEJB itests, 
CMRMappingFacadeBean, which amongst other things verify that we cannot 
change the PK of a CMP by setting a CMR field - the four tests test*ResetPK.




All these points together tend to confuse me on what the actual 
behaviour should be. Any suggestions?


The case where we have:
* a composite primary key having three columns (b, fka1, fka2); and
* (fka1, fka2) also foreign key columns referencing the composite 
primary key (a1, a2).
seems to be rare. However, it seems that we should be able to support it 
via the same mechanism that we used for CMRMappedToInversePKCMP and 
CMRMappedToOwningPKCMP.


I think that the first thing to do is to add support for your very first 
scenario. I think that this is more or less that code snippet that you 
have submitted a couple of days ago.


Thanks,
Gianny



Thanks
Manu


On 1/7/06, *Gianny Damour* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


Hi Manu,

You are once again correct: let's remove this read-only decorator
- this
was a very bad idea - at least if the field is a PK one. This read
only
behavior was intended to prevent developers from changing a
relationship
to a CMP having a coumpond PK with multiple fields. Indeed, in this
case, if the CMP field is updated, this implies that the
relationship is
(partially, as only one field is updated) updated and I am not
sure that
it is safe to let such a thing to happen.

Thanks for your work on this,
Gianny

Manu George wrote:

 Hi Gianny,
 I have a question on CMR
Consider a Bean A and a bean B in a one to many CMR
 relationship
 Here A has 2 fields in the PK say a1 and a2
 B has b1 fka1 and fka2 as the pk where fka1 and
 fka2 are the foreign keys corressponding to the a1 and a2 of A.
 In the ejbCreate of B when we set fka1 and fka2 won't
 OpenEJB throw an error saying that they are readonly fields.
This will
 happen even after  implementing the logic for the special case where
 the CompoundPK has 1 field.  Is this scenario a valid scenario?
If so
 can we change the check in createCMPFieldAccessors to check for
 primary key and allow write access to CMR fields if they are
parts of
 Primary Keys? What should be the correct behaviour?

 Thanks
 Manu











Re: WADI clustering

2006-01-18 Thread Gianny Damour

Rajith Attapattu wrote:


More question if you don't mind.
 
 2.) Assuming sombody wants to do session replication (All

 Active) instead of (one Active and n backups) is there provision
 within the WADI api to plug in this stratergy?

I'm giving this some thought in terms of SFSB support, I'm not aware of
similar constraints in the EJB world...

I guess we could relax this constraint in the web world, but I am not
sure that I think that this is a good idea. Can you see a way to do this
and maintain spec compliance and performance ?
Is WADI designed primarily for Web?? (bcos u talked about being 
servlet spec compliant) and u also mention about SFSB support.
Can we abstract the Replication problem to a more higher level and 
have the two (or more if there is) stratergies as impls of the 
replication API that installs as a pluggin by the user.
 
We can abstract things like a ReplicationManager that handles/controls 
no of replicas etc.. and a ReplicatedSession which decides wether it's 
active or passive (backup) based on the parameters passed to the 
ReplicatedSessionFactory at create time from the ReplicationManager.


This is a very good idea. A ReplicationManager could provide the 
management of replicas: we feed it a primary object; it delegates to a 
BackingStrategy the selection of backing storages, i.e. location and 
type of back-ups; and feeds to the selected ReplicaStorage a copy of the 
object to be replicated.


As previously stated by Jules, the BackingStrategy chooses the backing 
storages based on deployment characteristics, e.g. a storage hosted by a 
distinct physical box than the one hosting the primary object is 
preferred to a storage hosted on the same physical box than the primary.


Also, the ReplicationManager could provide some ways to re-organize the 
backing storages, when a session has been migrated from one node to 
another. It notifies the other ReplicationManager hosted by each node of 
the cluster and instructs them that it is becoming the primary host of 
a replicated object (this object is uniquely identified by a key 
somehow). The ReplicationManager, which is currently the primary of this 
replicated object, releases the primary and replies back that the 
backing storages are hosted there, there and there. The new primary 
host requests to the BackingStrategy to re-assess the backing storages 
based on the new situation: I am now the primary host and the current 
backing storages are there.


 
The ReplicationManager impl could be the stratergy that decides wether 
it maintains n of active replicas or 1 active and n backups or any 
other stratergy.
 
Also the ReplicatedSession could impl stratergies like in 
MemoryReplication or PassiveReplication (based on active or passive) 
or anything else. And PassiveReplication can be extended to file 
based, database backed (not recomended) or anything else.


In the above scheme, the ReplicaStorage implements these memory, file or 
database strategies.


Does that sound reasonable?

Thanks,
Gianny

 
If we open up the API and let the user choose the stratergy they want 
then we are delaying our concerns to the user level and allow them to 
make the decesion.
I am sure we cannot address every situation, and the user is the best 
to judge about there env.
 
But we can always provide some sensible stratergies and recomendations 
and use cases around them to make an informed decesion.
 
Then We can leave the decesion to the user about 
spec-complient/performance.
 
What do u think??
 
If a request arrives at a secondary, primary and secondary swap roles

and processing happens locally.
If a request arrives on a node with no copy of the relevant session, it
may be relocated to the primary, or the primary to it.
 
1. Do u plan to have an abstraction around the above concerns as well??
So we can have impls of different stratergies, So people can 
decide wether they want to relocate the primary or the request.
 
In case of a relocation of either request or session I assume u 
have hidden the impls behind an interface/API sort of thing so ppl can 
do different impls of the same stratergies or impl their own stratergy.
 
2. In the event of a primary and secondary swapping roles or having n 
of active replicas don't we need some sort of distributed locking 
mechanism.
I heard that in memory locking should be optimistic and storage backed 
replicas should be pessimistic locking.
 
I hope I haven't got the too mixed up :)
 
Can u please touch on this problem as my knoweldge is limited on this 
area.
 
Regards,
 
Rajith.


 
On 1/17/06, *Jules Gosnell* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


Rajith Attapattu wrote:


  Hi,

 Some of these questions came up after reading the thread on totem.
 However I started the new thread so that searching is easy and also
 want distract the intense discussions on totem with out-of-topic
 questions.

 Jules Gosnel wrote

 This is not 

Re: [VOTE] Documentation in Confluence, MoinMoin, or..

2006-01-20 Thread Gianny Damour

+1 Confluence

Gianny

Rodent of Unusual Size wrote:


-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Anyone with an interest in working with the documentation,
either directly or for some sort of postprocessing, please
vote here.  Unless there are problems, this vote will
close in one week, at 14h00 UTC on 27 January 2006.  At
that point, a two-thirds majority will be a clear indicator
of which way to go; any narrower majority will mean
opinions are still too divided.

Working documentation for Apache Geronimo should be kept in

[  ] Confluence
[  ] MoinMoin wiki
[  ] Other (explain)

This does not affect the need for 'solid' or released
documentation to be under source control.  This vote is
only to decide a single collaborative environment for
its development.
- --
#kenP-)}

Ken Coar, Sanagendamgagwedweinini  http://Ken.Coar.Org/
Author, developer, opinionist  http://Apache-Server.Com/

Millennium hand and shrimp!
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQCVAwUBQ9D1bprNPMCpn3XdAQIguAP/W4N8a5bp0F0kqhLnInPkBb1Hgacg7r0D
eBHx/NiyQzZ/qjsStvCh/Ud3dDSzVbTCno5mgoaM6lmqEgOJ/EqMVzD/lYmtt/0y
Jl2dI4DrPRe7Y5UvWNM76dSaGob3xuGyhYLm2mVJYxDnow9L6MO6btrWOCsb8Ww7
48uwYXnlh1c=
=1Dmb
-END PGP SIGNATURE-

 






Re: Compilation errors in module javamail-transport

2006-02-08 Thread Gianny Damour

Hi,

In this situation, I think that you should try:

maven -U clean install

-U means that newer versions of plugins should be checked from the 
plugin repositories.


Thanks,
Gianny

Vamsavardhana Reddy wrote:


Got the following error trying to build geronimo-spec-javamail.  Help


C:\GeronimoSource\geronimo\specs\trunk\geronimo-spec-javamailc:\maven-2.0.2\bi
\mvn clean install
[INFO] Scanning for projects...
[INFO] 


---
[INFO] Building Java Mail
[INFO]task-segment: [clean, install]
[INFO] 


---
[INFO] [clean:clean]
[INFO] 


---
[ERROR] BUILD ERROR
[INFO] 


---
[INFO] The plugin 'org.apache.maven.plugins:maven-resources-plugin' 
does not ex

st or no valid version could be found
[INFO] 


---
[INFO] For more information, run Maven with the -e switch
[INFO] 


---
[INFO] Total time: 2 seconds
[INFO] Finished at: Wed Feb 08 16:11:36 IST 2006
[INFO] Final Memory: 2M/4M
[INFO] 


---

On 2/7/06, *Bruce Snyder* [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


On 2/6/06, Jian Liao [EMAIL PROTECTED]
mailto:[EMAIL PROTECTED] wrote:

 Geronimo spec updated. you have to rebuild it. But you still can
not make it
 right after rebuild geronimo-spec, so I just bypass this module
in the top
 maven.xml.

Jian is correct, the compilation errors are due to changes to the
geronimo-spec-javamail module today. In order to avoid the compilation
errors, you'll need to check out the whole specs trunk:

https://svn.apache.org/repos/asf/geronimo/specs/trunk/

and at least build the geronimo-spec-javamail module using Maven 2 and
the following command:

mvn clean install

This will place the updated javamail spec jar here:


~/.maven/repository/org.apache.geronimo.specs/jars/geronimo-javamail_1.3.1_spec-1.1-SNAPSHOT.jar

which will then allow the javamail-transport module to be built
correctly.

HTH

Bruce
--
perl -e 'print
unpack(u30,D0G)[EMAIL PROTECTED]5R\F)R=6-E+G-N61ED\!G;6%I;\YC;VT*
);'

Apache Geronimo ( http://geronimo.apache.org/)

Castor (http://castor.org/)







Re: NPE in HOWLLog in boot

2006-02-09 Thread Gianny Damour

Hi Jason,

This has now been fixed. XidFactory is now being properly injected and G 
should start fine.


Thanks,
Gianny

Jason Dillon wrote:


I'm not sure how I got G into this state, but its barfing on boot with:

snip
Booting Geronimo Kernel (in Java 1.4.2_09)...
Started configuration  1/16   0s geronimo/rmi-naming/1.0/car
18:57:25,971 ERROR [GBeanInstanceState] Error while starting; GBean is
now in the FAILED state:
objectName=geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-server/1.0/car,J2EEServer=geronimo,j2eeType=TransactionLog,name=HOWLTransactionLog
java.lang.NullPointerException
   at 
org.apache.geronimo.transaction.log.HOWLLog$GeronimoReplayListener.onRecord(HOWLLog.java:362)
   at org.objectweb.howl.log.xa.XALogger.replayActiveTx(XALogger.java:1059)
   at org.apache.geronimo.transaction.log.HOWLLog.doStart(HOWLLog.java:220)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
   at 
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
   at 
org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
   at 
org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(generated)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at 
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
   at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
   at 
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
   at 
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:142)
   at 
org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(generated)
   at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
   at 
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
   at 
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
   at 
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
   at 
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
   at 
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
   at 
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
   at 
org.apache.geronimo.kernel.config.ConfigurationManager$$EnhancerByCGLIB$$ac1e62eb.start(generated)
   at org.apache.geronimo.system.main.Daemon.doStartup(Daemon.java:323)
   at org.apache.geronimo.system.main.Daemon.init(Daemon.java:82)
   at org.apache.geronimo.system.main.Daemon.main(Daemon.java:404)
...
/snip

Most GBeans do not start successfully after that... G is hosed at this
point, had to nuke the txlogs to get a usage G again.

That line is:

snip
Xid masterXid = xidFactory.recover(formatId, globalId, branchId);
/snip

xidFactory not getting dependency injected?

--jason



 






  1   2   3   4   5   6   7   >