Re: Suggestion to improve packaging of ejb-jars

2009-03-19 Thread Juergen Weber


djencks wrote:
 
 
 I'm generally against these nested packagings.  I think they were  
 dreamed up in the dark ages before people realized that their software  
 was part of the worldwide software ecosystem and that you need to  
 document explicitly how your software relates to other stuff.  This is  
 the kind of problem maven tries to solve.  People who still use ant  
 IMO still haven't recognized that this is something they can think  
 about.
 
 

I think this is true for Open Source software. But companies (and especially
banks) like ear files which developers can give to IT operations (who don't
want to download libraries from the web while putting banking software into
production).

Greetings,
Juergen
-- 
View this message in context: 
http://www.nabble.com/Suggestion-to-improve-packaging-of-ejb-jars-tp22588998s134p22599300.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.



Re: Suggestion to improve packaging of ejb-jars

2009-03-19 Thread David Jencks


On Mar 19, 2009, at 9:27 AM, Olaf Bergner wrote:



Thanks for your pointer, I will have a closer look at the maven-car- 
plugin.

Last time I checked, however, I had to write the list of required
dependencies by hand, a task that should be offloaded to maven/the
maven-car-plugin, IMO.



Using plugins is much easier in trunk there we do (by default)  
follow maven transitive dependencies, and track if they've changed  
with src/history/dependency.xml files, and we also have the framework  
plugin group which makes assembling a server very easy.  I wish we  
could get 2.2 out really soon. :-(((


As to your question: it is true that my solution for building an ear  
is not
totally automatic, i.e. I have to decide up front which dependencies  
are to

be shared between all modules. By putting those into a separate pom,
however, and referencing that pom in scope provided from all jee  
modules,

in scope runtime from my ear module maven more or less automatically
produces a correctly packaged ear.


I don't think I've fought with this recently :-)  I have some  
recollection that some of the maven plugins could use some more  
configuration about whether they package jars into the ear/war/rar  
automatically depending on the dependency scope.  For geronimo I think  
we'd like a flag that would let the dependencies be normal scope so  
geronimo would see them but maven would not include them in the ee  
artifact.  I think I saw that there were some changes recently but I  
don't know if this is supported yet.


Anyway your ear-building seems like it will work.

How important do you see separate classloaders for each ejb jar and  
rar?  Do you expect any actual problems from a shared classloader or  
does it just seem inelegant?


thanks
david jencks




Thx,
Olaf


djencks wrote:



On Mar 18, 2009, at 3:23 PM, Olaf Bergner wrote:



Obviously, adopting the Geronimo way of explicitly declaring a
module's
dependencies as references to jars contained in Geronimo's
repository is the
most explicit way of making that module's needs known to the world.
On the
other hand, it may be argued that packaging dependencies that are  
only

needed by one module inside that module is still closer to the
truth than
throwing them all indifferently into the enclosing ear's lib
directory.


I tend to agree that the classloader structure of javaee applications
is not well defined and very likely it would be pretty handy to have
classloader-per-module for ejb apps and rars as well as the ear
classloader from the lib directory.  In current geronimo, it's only
going to be a notation of what you'd prefer in a more ideal world.

For wars in an ear, you can indeed specify geronimo dependencies for
the war alone referencing the g. repo rather than (and equivalent to)
including the jars in the war's WEB-INF/lib.




Moreover, it is precisely my use of maven and my meticulously
managing my
dependencies that led to this suggestion. I rely on maven's  
dependency

management capabilities to automatically compute each module's
classpath,
leading to the scenario I described in my original post.

Anyway: is there a maven plugin that allows me to convert my ear
into a
Geronimo plugin, using maven's knowledge about the required
dependencies to
automatically build the required environment entries?


I don't entirely understand what you are asking for once you've
built an ear or war that includes some jars, you have to do some work
with the dependency plugin to take them out again.  On the other hand
if you assemble an ear that does not include a bunch of jars in the
lib directory but the modules have maven dependencies that you need,
you can use the car-maven-plugin to build the ear into a geronimo
plugin that references the jars as (geronimo) dependencies.  When you
install the plugin, it will pull the jars into geronimo also.

thanks
david jencks




Thanks,
Olaf


djencks wrote:



On Mar 18, 2009, at 2:33 PM, Olaf Bergner wrote:



I have several ejb-jar packaged inside an ear. Libraries to be
shared between
some or all of these ejb-jars are placed inside the encompassing
ear's lib
directory, as decreed by the standard. Some libraries, however,  
are

local to
the using ejb-jar, i.e. they don't need to be shared.

I tried to package these libraries inside the using ejb-jar,
creating
appropriate Class-Path entries in that ejb-jar's manifest file.
This,
however, leads to a deployment error as obviously the Class-Path
entries in
the ejb-jar's manifest file are resolved relative to the enclosing
ear and
are therefore not found.

Suggestion: make Geronimo resolve those dependencies relative to  
the

ejb-jar
declaring them. Same goes for rars.

What do you think?



rars already have a nested structure, anything inside has to be  
in a

jar.  Or are you suggesting we support infinitely nested jars?

In geronimo everything in all the ejb jars and rars ends up in the
same classloader so you won't get any difference in behavior by  

Re: Suggestion to improve packaging of ejb-jars

2009-03-19 Thread David Jencks


On Mar 19, 2009, at 5:39 AM, Juergen Weber wrote:




djencks wrote:



I'm generally against these nested packagings.  I think they were
dreamed up in the dark ages before people realized that their  
software

was part of the worldwide software ecosystem and that you need to
document explicitly how your software relates to other stuff.  This  
is

the kind of problem maven tries to solve.  People who still use ant
IMO still haven't recognized that this is something they can think
about.




I think this is true for Open Source software. But companies (and  
especially
banks) like ear files which developers can give to IT operations  
(who don't
want to download libraries from the web while putting banking  
software into

production).



Sure, but the bank is almost certainly using some software from the  
outside world such as the app server, db driver, etc.  So it needs  
a way to provide the required software to the developers (and qa,  
production, etc) and audit what is made available.  And it still needs  
to document the relationship of artifacts to each other.  IIUC the  
maven solution to this is to use a corporate repository manager such  
as nexus that lets you specify exactly what is available inside the  
company.  The geronimo solution built on this is to assemble a custom  
server from bits in the repo manager and give that to IT  
operations all they have to do is unpack and start it.


thanks
david jencks



Greetings,
Juergen
--
View this message in context: 
http://www.nabble.com/Suggestion-to-improve-packaging-of-ejb-jars-tp22588998s134p22599300.html
Sent from the Apache Geronimo - Users mailing list archive at  
Nabble.com.






GBean documentation improvement

2009-03-19 Thread Radim Kolar

I have some suggestions about improving following document:
http://cwiki.apache.org/GMOxDOC22/developing-and-deploying-a-geronimo-gbean.html

1. GBean Lifecycle section 
   what is doFail() method expected to do? Shutdown gbean and make it sure
that calling doStart() will do nothing?

2. GBean attributes
SimpleServerGBean doesn't have get/set methods for its attributes `name` and
`port`. I would like to see and example handling of invalid input. for
example setPort(-1). Should gbean just ignore attribute change or throw
IllegalArgument exception?

3. Make some example Gbean using references

4. Deploy
What should i do if gbean itself needs another library to work? Deploy both
.jars into jars repository and list both as dependencies when we are about
to create gbean instance by deploying simpleServer_deployment_plan.xml ?
-- 
View this message in context: 
http://www.nabble.com/GBean-documentation-improvement-tp22607392s134p22607392.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.



Re: Problem: WSDL generation for JPA enhanced classes

2009-03-19 Thread Jarek Gawor
Hmm... can you attach some sample ear or war file that replicates this problem?

There are a couple of work-arounds. One easy thing to do is the
pre-generate the wsdl (using the jaxws-tools command line tool) and
attach the wsdl to your service. That way the server won't need to
generate the wsdl during deployment.

Another things to try (if possible of course) is to switch to CXF. It
uses a different way to generate the wsdl and I'm pretty sure it will
avoid the problem you see with Axis2.

Jarek

On Mon, Mar 16, 2009 at 9:35 AM, Phili geron...@annee.de wrote:

 Hi,

 I'm trying to deliver jpa entity classes through a web-service.

 It works fine unless I use build-time enhanced classes:

 The WSDL generation fails at deploy-time because of missing jpa-classes:

 14:22:00,743 ERROR [WsdlGenerator] WSDL generation process failed
 14:22:00,743 ERROR [WsdlGenerator] Problem encountered during annotation
 processing;
 see stacktrace below for more information.
 com.sun.tools.javac.code.Symbol$CompletionFailure: class file for
 org.apache.openjpa.enhance.PersistenceCapable not found
 Exception in thread main java.lang.NoClassDefFoundError:
 org/apache/openjpa/enhance/PersistenceCapable
        at java.lang.ClassLoader.defineClass1(Native Method)
 [...]

 How can I add the required (open)jpa jars for the wsgen-tool - i've tried to
 add an dep:dependency to the deployment plan but that doesn't seem to be the
 correct way.

 Thx in advance  kind regards
  Phil




 --
 View this message in context: 
 http://www.nabble.com/Problem%3A-WSDL-generation-for-JPA-enhanced-classes-tp22538378s134p22538378.html
 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.




Re: your current Geronimo evaluation

2009-03-19 Thread Xasima Xirohata
U need to use any group communication service software (build on top
on JGroup, ActiveCluster, and so on). Take a look at Group
Communication Services built in WADI (*), or integrate shoal (**) by
your own.

(*) http://docs.codehaus.org/display/WADI/Home,
 http://docs.codehaus.org/pages/viewpage.action?pageId=9764983
(**) https://shoal.dev.java.net/


On Mon, Mar 16, 2009 at 3:04 PM, Aldian_00 aldian...@gmail.com wrote:



 Aldian_00 wrote:


 Ok Thank you very much everyone for the reply. I would still have a tough
 question to ask you:

 About Geronimo's load balancing / failover capacities. Is it only based on
 apache's ones, or is there a functionality specific to Geronimo about
 this?

 I am asking this because it seems that apache's load balancing only bother
 of front-end aspects: severals servers with thousands of clients
 (web-browsers or desktop applications). And in our case we plan to
 developp an application of type Operations Support Systems which will be
 interfaced to an existant Network Management System, and we will need to
 use back-end type load-balancing between all our thousands of equipements.
 As for our client applications, we won't have many.

 So here is the question: Is Geronimo able to perform load-balancing of
 back-end type?

 Aldian



 Aldian_00 wrote:



 Xasima Xirohata wrote:

 Sorry,
 and we will need to use back-end type load-balancing

 is it on the topic of  Group Communication Management System, means
 1) load balancing to propagate requests  to the certain instance of
 Network Management System (equipment)
 2) automatic determining of inclusion / exclusion certain instance
 (equipment) to/from the group
 3) determining fail overs in request propagation or instance (equipment)
 live.

 So you want to use Geronimo in scope of  Clients - Geronimo -
 GROUP {equipment}, don't you?


 Yes this is exactly what I want

 regards

 Aldian


 Now that we know exactly what I would like, could you please answer the
 original question? Thank you very much!
 --
 View this message in context: 
 http://www.nabble.com/your-current-Geronimo-evaluation-tp22329850s134p22537712.html
 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.





-- 
Best regards,
 ~ Xasima Xirohata ~


Re: Starting from framework

2009-03-19 Thread David Jencks


On Mar 19, 2009, at 3:46 PM, Derek Potts wrote:





djencks wrote:



very roughly speaking you run

./bin/gsh deploy/list-modules

pick the geronimo plugin repository you want

(gshell will list the available plugins, including the jetty6 plugin
and you probably want the jetty6-deployer plugin too and maybe even
the console-jetty)
pick the ones you want by number

they will get installed.

I'm afraid I haven't personally checked what happens with released
versions of g.  There's supposed to be a plugin catalog configured  
for

each version and the location inserted into g. before release, but
since I'm always working with trunk I rely on my local maven repo.  I
do know I've seen commits for these plugin catalogs and you can
tell geronimo about them if they aren't already configured.

hope this helps
david jencks




When I run deploy/list-modules, I only get a list of 14. If I  
understand you
correctly, this is due to a lack of a repository configuration? How  
do I set

one up?


I gave you some bad information.  I just tried with a copy of 2.1.4- 
SNAPSHOT of some age I have here


1. edit var/config/config.xml to look like this:

attribute name=userRepositories~/.m2/repository,http://geronimo.apache.org/plugins/geronimo-2.1.4 
/attribute



2. The correct gshell command is

deploy/list-plugins

After the above edit you should get a choice of repos -- the non-local  
one should have the 2.1.4 plugins.


The list-modules command just shows what is installed in the server  
already.



However I'm afraid there may be bugs in the 2.1.4 server.  When I try  
to install jetty6 (#70 in the listing I got) I got a message about a  
2.1.3-only plugin (unidentified).  When I tried to install plugin 1  
(jetty console) a lot got downloaded but there was a problem  
apparently due to a missing version for


 org.apache.geronimo.modules/geronimo-jetty6//jar

I checked with local snapshot plugins in trunk and installing the  
console onto the framework using plugins works fine.


I guess we should try to figure out what's wrong in 2.1.4 before the  
release is final


thanks
david jencks



--
View this message in context: 
http://www.nabble.com/Starting-from-framework-tp22571384s134p22610568.html
Sent from the Apache Geronimo - Users mailing list archive at  
Nabble.com.






Re: Starting from framework

2009-03-19 Thread Derek Potts


djencks wrote:
 
 
 1. edit var/config/config.xml to look like this:
 
  attribute
 name=userRepositories~/.m2/repository,http://geronimo.apache.org/plugins/geronimo-2.1.4
  
 /attribute
 
 

Since I'm working with the 2.1.3 framework distribution, I made my
config.xml look like this:
attribute
name=userRepositorieshttp://geronimo.apache.org/plugins/geronimo-2.1.3/attribute
I dropped ~/.m2/repository since I don't have anything in my local repo.

deploy/list-plugins then listed 114 plugins. But I also ran into problems
attempting to install Jetty or the console.

When I tried
1:  Geronimo Plugins, Console :: Jetty (2.1.3)
this was the output:
Downloading org.apache.geronimo.plugins/pluto-support/2.1.3/car
Downloading org.apache.pluto/pluto-portal-driver/1.1.6-G643117/jar
Installation FAILED: Could not find
org.apache.pluto/pluto-portal-driver/1.1.6-G643117/jar in any repo

When I tried
71: Geronimo Plugins, Jetty :: Jetty 6 (2.1.3)
this was the output:
Copying org.apache.geronimo.configs/j2ee-server//car to the repository
Installation FAILED: Artifact org.apache.geronimo.configs/j2ee-server//car
is
not fully resolved

Next, I'll see if I can attain my desired setup starting from Little-G.
-- 
View this message in context: 
http://www.nabble.com/Starting-from-framework-tp22571384s134p22612670.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.



Re: Starting from framework

2009-03-19 Thread David Jencks


On Mar 19, 2009, at 6:11 PM, Derek Potts wrote:




djencks wrote:



1. edit var/config/config.xml to look like this:

attribute
name=userRepositories~/.m2/repository,http://geronimo.apache.org/plugins/geronimo-2.1.4
/attribute




Since I'm working with the 2.1.3 framework distribution, I made my
config.xml look like this:
attribute
name=userRepositorieshttp://geronimo.apache.org/plugins/geronimo-2.1.3 
/attribute
I dropped ~/.m2/repository since I don't have anything in my local  
repo.


deploy/list-plugins then listed 114 plugins. But I also ran into  
problems

attempting to install Jetty or the console.

When I tried
1:  Geronimo Plugins, Console :: Jetty (2.1.3)
this was the output:
Downloading org.apache.geronimo.plugins/pluto-support/2.1.3/car
Downloading org.apache.pluto/pluto-portal-driver/1.1.6-G643117/jar
Installation FAILED: Could not find
org.apache.pluto/pluto-portal-driver/1.1.6-G643117/jar in any repo

When I tried
71: Geronimo Plugins, Jetty :: Jetty 6 (2.1.3)
this was the output:
Copying org.apache.geronimo.configs/j2ee-server//car to the repository
Installation FAILED: Artifact org.apache.geronimo.configs/j2ee- 
server//car

is
not fully resolved

Next, I'll see if I can attain my desired setup starting from Little- 
G.


I forgot about the private-versions-of-pluto/tomcat/etc problem.  I'm  
afraid we are unlikely to solve it for 2.1.4. It will still prevent  
you from installing the console from little-g.   Basically I think you  
will need to check out


svn co https://svn.apache.org/repos/asf/geronimo/server/tags/2.1.3/repository/

cd repository
mvn clean install

this will install all the private artifacts we should be publishing  
under our own groupIds to your local maven repo and then I think the  
console should install OK.


I'm going to look at the missing-version problem in 2.1.4 maybe  
there will be something we can fix for the release


I guess we need integration tests for this somehow... but we really  
need to actually release these private artifacts.


david jencks



--
View this message in context: 
http://www.nabble.com/Starting-from-framework-tp22571384s134p22612670.html
Sent from the Apache Geronimo - Users mailing list archive at  
Nabble.com.






Re: GBean documentation improvement

2009-03-19 Thread Ying Tang
Hi Radiim,

  Thanks a lot for your suggestion. We will get down to the improvement.


Best Regards,

Ying Tang (Sophia)


2009/3/20 Radim Kolar h...@sendmail.cz


 I have some suggestions about improving following document:

 http://cwiki.apache.org/GMOxDOC22/developing-and-deploying-a-geronimo-gbean.html

 1. GBean Lifecycle section
   what is doFail() method expected to do? Shutdown gbean and make it sure
 that calling doStart() will do nothing?

 2. GBean attributes
 SimpleServerGBean doesn't have get/set methods for its attributes `name`
 and
 `port`. I would like to see and example handling of invalid input. for
 example setPort(-1). Should gbean just ignore attribute change or throw
 IllegalArgument exception?

 3. Make some example Gbean using references

 4. Deploy
 What should i do if gbean itself needs another library to work? Deploy both
 .jars into jars repository and list both as dependencies when we are about
 to create gbean instance by deploying simpleServer_deployment_plan.xml ?
 --
 View this message in context:
 http://www.nabble.com/GBean-documentation-improvement-tp22607392s134p22607392.html
 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.




Re: startup geronimo jetty on AIX fails

2009-03-19 Thread Ivan
Which version of AIX did you use ? If 6+, shall you run ulimt -a to check
the value of threads(per process) is unlimited or big enough. Wish it could
help you.
Thanks !

2009/3/19 MarcoLaponder marco.lapon...@kewill.com


 I tried your suggestions but the error is still there. Do you have any
 other
 suggestions or items I can try and/or check to solve this problem ?

 Kind regards,
 Marco


 MarcoLaponder wrote:
 
  When I try to start geronimo with jetty on AIX it gives me the following
  message:
 
  Module 24/67 org.apache.geronimo.configs/j2ee-corba-yoko/2.1.3/car
  started in  1.910s
 
  Module 25/67 org.apache.geronimo.configs/jetty6/2.1.3/car
  12:16:48,589 ERROR [log] failed ajp13socketconnec...@0.0.0.0:8009
 
  java.lang.OutOfMemoryError: unable to create new native thread
  at java.lang.Thread.start0(Native Method)
  at java.lang.Thread.start(Thread.java:597)
  at
 
 java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:703)
 
  at
 
 java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:652)
  at
  org.apache.geronimo.pool.ThreadPool.execute(ThreadPool.java:232)
  at
 
 org.apache.geronimo.jetty6.connector.JettyThreadPool.dispatch(JettyThreadPool.java:47)
  at
  org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:266)
 
  I also tried :
  JAVA_OPTS=-Xmx256m -XX:MaxPermSize=128m
  and
  JAVA_OPTS=-Xmx512m -XX:MaxPermSize=256m
 
  but still no luck. When I use geronimo with tomcat I got no problems.
 
  Anyone got an idea what to do to solve this problem ?
 
  Kind regards,
  Marco
 
 
 

 --
 View this message in context:
 http://www.nabble.com/startup-geronimo-jetty-on-AIX-fails-tp22558472s134p22599099.html
 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.




-- 
Ivan