On Mar 27, 2008, at 12:03 AM, Kristian Rink wrote:
David, *;
first off, thanks a bunch for your explanations on that, they surely
made a few things clearer to me. :)
Am Wed, 26 Mar 2008 15:04:42 -0700
schrieb David Jencks <[EMAIL PROTECTED]>:
[2] ought to be able to deploy to remote servers with no problem..
That said I haven't tried it. If it doesn't work it's probably a
very simple fix. Basically you just need to specify where the
remote server is.
Hmmm, I will have a closer look at it then and see how far this will
take me. :)
We make extensive use of the geronimo-maven-plugin in the testsuite
(under server/trunk or equivalent branch/tag). In the root testsuite
pom there's some configuration to start and stop a local server,
which won't work remotely. A typical configuration to deploy and
undeploy an app looks something like
<plugin>
<groupId>org.apache.geronimo.buildsupport</groupId>
<artifactId>geronimo-maven-plugin</artifactId>
<executions>
<execution>
<id>deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy-module</goal>
</goals>
<configuration>
<moduleArchive>$
{project.build.directory}/${artifactId}-${version}.ear</moduleArchive>
</configuration>
</execution>
<execution>
<id>undeploy</id>
<phase>post-integration-test</phase>
<goals>
<goal>undeploy-module</goal>
</goals>
<configuration>
<moduleId>${groupId}/${artifactId}/$
{version}/ear</moduleId>
</configuration>
</execution>
</executions>
</plugin>
I think you just need to add <hostname>,,,</hostname> and probably
username and password to the configuration element.
[...]
With this point of view you would either assemble an app server
containing your application(s) or construct assembly instructions and
ship these to the remote servers and then start the preconfigured
servers with your application already installed.
This is an interesting idea.
Actually, I can't say I do or don't like it as I simply have to get
acquainted to it after all, given that indeed it seems to introduce a
whole new philosophy in developing and deploying Java EE applications,
more than just slightly differing from what one is used to by now. :)
I'm curious about what kind of remote management you expect to have
for the remote servers.
the geronimo-maven-plugin usage above should work for any g 2.x
version. The below really applies to 2.1 and later.
To be a little more verbose on that: So far, we are using a bunch of
applications distributed around in our network running in several
tomcat containers, and I found this solution to be quite difficult to
deal with if a bigger bunch of people (also including some who are
less experienced and/or less interested) is supposed to take care of
that structure. Most notably, it is difficult to explain
- how to get some options of applications deployed to these containers
configured at runtime,
Depending on what you want to configure... there are several options.
- remote jmx. A lot of stuff can be configured directly on the
components... probably including stuff like context-root for web
apps. I haven't tried this much.
- If you deploy as a geronimo plugin you can arrange for specific
property settings to be in var/config/config-
substitutions.properties. Changing these generally only takes effect
when the server is restarted, but its handy for putting specific
configuration bits in.
- you can arrange for a file containing app specific configuration
(such as log4j settings) to be unpacked into a directory of your
choice such as var/myapp/data.
- A lot can be configured through the admin console, and you can
write an admin console plugin to specifically administer your apps.
- how to use server logs to tell what is goin' on inside these
containers at the moment,
the admin console has a log viewer. You can configure app specific
logging fairly easily starting in g 2.1.1 (almost out :-)
- how to deal with reloading / stopping apps if desired.
this can be done through the admin console, maven, or (probably now
or soon) gshell. I'm not sure how much gshell remoting works at the
moment.
So far, the same time we look at geronimo, we are into playing around
with glassfish which seems to do better about these things for a
simple
reason: It provides a fairly sophisticated management interface to
deal
with all these issues in an easy way. Given that, and assuming to
replace an existing, distributed environment by one "huge" (indeed
monolithic it seems) Java EE container, there seems to be quite a
benefit compared to our given situation, plus the chance to throw in
things like EJB, JMS, ... easily to our Spring based applications. But
the idea of the Java EE server being a standalone, well-administered
runtime to just dump applications to and be reasonably sure they will
start out is a tempting thing. From that point of view, I have indeed
get acquainted to the idea of, say, building "my own app server
distribution" by assembling an application server containing just my
application. But maybe indeed it's just about getting used to it. At
least, is there a way of running geronimo 2.x as a "traditional"
application server (standalone installation on some dedicated host
ready to recieve apps) as well?
Yes, you can do that using the geronimo-maven-plugin.
Anyway, thanks again for your input on that, best regards.
thanks for your interest!
david jencks
Kristian
--
Kristian Rink * http://zimmer428.net * http://flickr.com/photos/z428/
jab: [EMAIL PROTECTED] * icq: 48874445 * fon: ++49 176 2447 2771
"One dreaming alone, it will be only a dream; many dreaming together
is the beginning of a new reality." (Hundertwasser)