geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Start server without open ports - possible?
Date Thu, 05 Feb 2009 17:51:52 GMT

On Feb 5, 2009, at 4:57 AM, Juergen Weber wrote:

>
> I've created a custom server assembly and reduced a server to  
> Boilerplate
> Minimal and OpenEJB. This works, the server comes up (see below).
>
> But, can the server be started without the open ports? I only need the
> server listen on a resource adapter, trigger an MDB and delegate to  
> an EJB.
> No need for remote access, derby, Active MQ or OpenEJB Daemon.
>
> Can that be done?

There are several bits here and I don't know why some of the  
dependencies are present so you will have to do some experimentation  
to find out what happens.

Do you really need to close the jndi and jmx ports? You wont be able  
to add/remove plugins or shut down the server via a command if you  
close these.

system-database is an openejb dependency, I don't know why.  If you  
have another database you can presumably use an artifact-alias to  
substitute a dependency on your db pool plugin.   It would be great if  
we could just remove this dependency from the openejb plugin, it seems  
philosophically very wrong.

Similarly the activemq-broker dependency is IMO completely misguided.   
I think it is supposed to be an activemq-ra dependency since there  
should be no need to actually have a running broker in your geronimo  
server.  Since you say you need mdbs I think you should be able to use  
an artifact alias to substitute your inbound connector for this  
dependency.

If you could tell us the results of investigating these changes we  
might be able to improve the situation for 2.1.4 and 2.2.

Finally the openejb daemon port can be turned off by turning off the  
EJBNetworkService.  You can either manually modify the config.xml or  
use a feature that I fear is undocumented while constructing your  
custom server:

in your assembly project,  include a file

src/main/resources/var/config/overrides/server-overrides.xml

that looks something like this:

<?xml version="1.0" encoding="UTF-8"?>
<!--
     Licensed to the Apache Software Foundation (ASF) under one or more
     contributor license agreements.  See the NOTICE file distributed  
with
     this work for additional information regarding copyright ownership.
     The ASF licenses this file to You under the Apache License,  
Version 2.0
     (the "License"); you may not use this file except in compliance  
with
     the License.  You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or  
implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!-- $Rev: 2566 $ $Date: 2008-05-15 10:28:53 -0700 (Thu, 15 May 2008)  
$ -->

<attributes xmlns="http://geronimo.apache.org/xml/ns/attributes-1.2">

     <module name="org.apache.geronimo.framework/j2ee-security/$ 
{geronimoVersion}/car">
         <gbean name="SecurityService" load="false"/>
     </module>

     <module name="org.apache.geronimo.framework/server-security- 
config/${geronimoVersion}/car" load="false"/>
     <module name="org.apache.geronimo.configs/activemq-ra/$ 
{geronimoVersion}/car" load="false"/>

     <module name="org.apache.geronimo.configs/j2ee-corba-yoko/$ 
{geronimoVersion}/car">
         <gbean name="CORBASSLConfig">
             <attribute name="keyStore">clientcert.jks</attribute>
             <attribute name="keyAlias">cts</attribute>
             <attribute name="trustStore">ssl-truststore</attribute>
             <attribute name="protocol">SSL</attribute>
         </gbean>

         <gbean name="NameServer">
             <attribute name="port">${orbDefaultPort}</attribute>
         </gbean>

         <gbean name="Server">
             <attribute name="port">6684</attribute>
             <attribute name="host">localhost</attribute>
         </gbean>
     </module>
</attributes>

This will get merged into the constructed config.xml.  You can turn  
off modules (should be unnecessary -- don't install them :-) ) or  
individual gbeans or use different attribute or reference values.

hope this helps
david jencks


>
>
> Thanks,
> Juergen
>
>
> Booting Geronimo Kernel (in Java 1.6.0_11)...
> Starting Geronimo Application Server v2.1.3
> [****************************************] 100%   9s Startup complete
>  Listening on Ports:
>    1399 0.0.0.0   RMI Naming
>    1827 127.0.0.1 Derby Connector
>    4501 127.0.0.1 OpenEJB Daemon
>   10299 127.0.0.1 JMX Remoting Connector
>   61913 0.0.0.0   ActiveMQ Transport Connector
>   61916 0.0.0.0   ActiveMQ Transport Connector
>
>  Started Application Modules:
>    RAR: org.apache.geronimo.configs/system-database/2.1.3/car
>
> -- 
> View this message in context: http://www.nabble.com/Start-server-without-open-ports---possible--tp21850866s134p21850866.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Mime
View raw message