You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Paul McMahan <pa...@gmail.com> on 2007/08/02 18:12:57 UTC
Re: Tomcat connectors
This work is complete now and available in trunk and the 2.0 branch.
As a side effect of introducing these new connectors we needed to
make some changes to the management apis (mainly WebManager) to allow
the connectors to specify which attributes they support, what their
types are (string, boolean, integer, etc), whether or not they are
required vs. optional, etc. All this used to be hard coded in the
portlet but now they are defined per connector type in
JettyManagerImpl and TomcatManagerImpl and the portlet just renders a
form with corresponding inputs and validation.
I tried to cover as much testing as possible within our proposed
timeframe for 2.0 but there may still be some rough edges. In
particular I was not able to test the APR connectors without having
the native libraries. You can successfully create an APR connector
but without the libraries it won't start due to an unsatisfied link
error (as expected).
Thanks to Jeff and David Jencks for all their help on getting this
important feature into 2.0.
Best wishes,
Paul
On Jul 25, 2007, at 1:43 PM, Jeff Genender wrote:
> Ok I added a whole bunch of new connectors in the o.a.g.t.connectors
> package.
>
> I am still working on APR - more notes to follow on this as its a
> little
> squirly since the Tomcat Connector somewhat "chooses" this
> automatically
> based on the existence of a native libraries. For the console we may
> wish to do a check on whether the native libs exist, and if so,
> present
> the APR connector. More on this in another email.
>
> Here are the connectors we care about at the moment...
>
> AJP13ConnectorGBean - Implements AJP
> Http11ConnectorGBean - Implements blocking Http connector
> Https11ConnectorGBean - Implements blocking Https connector
> Http11NIOConnectorGBean - Implements non-blocking Http connector
> Https11NIOConnectorGBean - Implements non-blocking Https connector
>
> I have not wired them into the container and other GBeans yet...I want
> to clena them up and get any feedback before making the switch since
> this obviously will impact the console upon wiring them in.
>
> As a side note...I am not using any references to the WebManager or
> other interfaces we used that hooked into the console. We can re-add
> those if those are deemed necessary.
>
> Jeff
>
> Paul McMahan wrote:
>> I agree NIO support would be great to have in 2.0, especially
>> since its
>> required for comet.
>>
>> Best wishes,
>> Paul
>>
>> On Jul 23, 2007, at 2:42 PM, Jeff Genender wrote:
>>
>>> Hi,
>>>
>>> I was going through some JIRAs and the Geronimo2.0 source and
>>> noticed it
>>> will be difficult at best to get the NIO connector and setting
>>> attributes on the APR connector for Tomcat due to its current
>>> implementation. I really think the ability to use these 2
>>> connectors is
>>> very important for the 2.0 release and I would like to put these
>>> in. If
>>> there are no objections, I would like this to be a part of the 2.0
>>> release.
>>>
>>> Jeff
Re: Tomcat connectors
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
David Jencks wrote:
>
> On Aug 9, 2007, at 3:58 PM, Filip Hanik - Dev Lists wrote:
>
>> David Jencks wrote:
>>>
>>> On Aug 9, 2007, at 11:18 AM, threepointsomething wrote:
>>>
>>>>
>>>> I am quite new to Geronimo, so I am not sure if the steps I
>>>> followed are
>>>> right. Here goes:
>>>>
>>>> I had to ensure that the NIO connector is picked up in place of the
>>>> basic
>>>> HTTP connector, so I made the following change in
>>>> configs\tomcat6\src\plan\plan.xml:
>>>>
>>>> <gbean name="TomcatWebConnector"
>>>> class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean">
>>>>
>>>>
>>>> I then rebuilt config\tomcat6\. When I started Geronimo, it picked
>>>> up the
>>>> NIO connector as expected.
>>>>
>>>> Listening on Ports:
>>>> 1050 127.0.0.1 CORBA Naming Service
>>>> 1099 0.0.0.0 RMI Naming
>>>> 1527 0.0.0.0 Derby Connector
>>>> 2001 127.0.0.1 OpenEJB ORB Adapter
>>>> 4201 0.0.0.0 OpenEJB Daemon
>>>> 6882 127.0.0.1 OpenEJB ORB Adapter
>>>> 8009 0.0.0.0 Tomcat Connector AJP AJP
>>>> 8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
>>>> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
>>>> 9999 0.0.0.0 JMX Remoting Connector
>>>> 61613 0.0.0.0 ActiveMQ Transport Connector
>>>> 61616 0.0.0.0 ActiveMQ Transport Connector
>>>>
>>>> I then ran a sample comet application (WAR) that was executing
>>>> properly in
>>>> Tomcat and tried it in this instance of Geronimo. Seemed to work fine.
>>>>
>>>> I was wondering if there is a simpler way of configuring NIO
>>>> without having
>>>> to rebuild config\tomcat6. If so can you please suggest how I can
>>>> do that?
>>>
>>> Well, I expect we actually want to ship with the NIO connectors used
>>> by default anyway, like we do for jetty.
>> I'd ship with the 6.0.14 code, tons of fixes since the last stable
>> release.
>> the code has been voted stable and ready to announce, we're just
>> waiting for the RM to pull his head out of his rear :)
>> http://people.apache.org/~remm/tomcat-6/v6.0.14/
>
> That's a bit of a different point. I was referring to which of the 8
> or so tomcat connectors we turn on by default: I think we want to turn
> on the NIO ones rather than the BIO ones. The tomcat code base we are
> shipping is based pretty much on near-to-6.0.14 code but with the
> annotation processor changes applied, which we need for
> certification. I imagine as soon as the annotation processor changes
> are in a released tomcat version we'll switch to that, until then we
> are stuck building our own copies.
>
> thanks
> david jencks
forgot about that, I'll probably volunteer as RM for the trunk project,
so that we can get some snapshots and alpha/beta(s) out the door
Filip
>
>>
>> Filip
>>>
>>> However until we get there you can either turn off the BIO connector
>>> and add a NIO connector in var/config/config.xml or turn off the BIO
>>> connector in config.xml and add the appropriate connector to the
>>> geronimo plan for your app. You can add the NIO connector using the
>>> admin console, but I think you need to turn off the BIO connector by
>>> editing config.xml when geronimo is not running. add the attribute
>>> load="false" to the gbean entry for the BIO connector.
>>>
>>> Hope this helps
>>> david jencks
>>>
>>>
>>>>
>>>> Thanks,
>>>> Gautham.
>>>>
>>>> --View this message in context:
>>>> http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12077742
>>>> Sent from the Apache Geronimo - Dev mailing list archive at
>>>> Nabble.com.
>>>>
>>>
>>>
>>>
>>> --No virus found in this incoming message.
>>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>>> 269.11.10/943 - Release Date: 8/8/2007 5:38 PM
>>>
>>>
>>
>
>
>
> --No virus found in this incoming message.
> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> 269.11.10/943 - Release Date: 8/8/2007 5:38 PM
>
>
Re: Tomcat connectors
Posted by Paul McMahan <pa...@gmail.com>.
On Aug 9, 2007, at 7:12 PM, David Jencks wrote:
> I imagine as soon as the annotation processor changes are in a
> released tomcat version we'll switch to that, until then we are
> stuck building our own copies.
Yep that's why I keep nagging on dev@tomcat about keeping tomcat/
trunk in synch with tomcat/6.0.x/trunk :-) The annotation
processor changes were only applied to tomcat/trunk.
Best wishes,
Paul
Re: Tomcat connectors
Posted by David Jencks <da...@yahoo.com>.
On Aug 9, 2007, at 3:58 PM, Filip Hanik - Dev Lists wrote:
> David Jencks wrote:
>>
>> On Aug 9, 2007, at 11:18 AM, threepointsomething wrote:
>>
>>>
>>> I am quite new to Geronimo, so I am not sure if the steps I
>>> followed are
>>> right. Here goes:
>>>
>>> I had to ensure that the NIO connector is picked up in place of
>>> the basic
>>> HTTP connector, so I made the following change in
>>> configs\tomcat6\src\plan\plan.xml:
>>>
>>> <gbean name="TomcatWebConnector"
>>> class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean"
>>> >
>>>
>>> I then rebuilt config\tomcat6\. When I started Geronimo, it
>>> picked up the
>>> NIO connector as expected.
>>>
>>> Listening on Ports:
>>> 1050 127.0.0.1 CORBA Naming Service
>>> 1099 0.0.0.0 RMI Naming
>>> 1527 0.0.0.0 Derby Connector
>>> 2001 127.0.0.1 OpenEJB ORB Adapter
>>> 4201 0.0.0.0 OpenEJB Daemon
>>> 6882 127.0.0.1 OpenEJB ORB Adapter
>>> 8009 0.0.0.0 Tomcat Connector AJP AJP
>>> 8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
>>> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
>>> 9999 0.0.0.0 JMX Remoting Connector
>>> 61613 0.0.0.0 ActiveMQ Transport Connector
>>> 61616 0.0.0.0 ActiveMQ Transport Connector
>>>
>>> I then ran a sample comet application (WAR) that was executing
>>> properly in
>>> Tomcat and tried it in this instance of Geronimo. Seemed to work
>>> fine.
>>>
>>> I was wondering if there is a simpler way of configuring NIO
>>> without having
>>> to rebuild config\tomcat6. If so can you please suggest how I can
>>> do that?
>>
>> Well, I expect we actually want to ship with the NIO connectors
>> used by default anyway, like we do for jetty.
> I'd ship with the 6.0.14 code, tons of fixes since the last stable
> release.
> the code has been voted stable and ready to announce, we're just
> waiting for the RM to pull his head out of his rear :)
> http://people.apache.org/~remm/tomcat-6/v6.0.14/
That's a bit of a different point. I was referring to which of the 8
or so tomcat connectors we turn on by default: I think we want to
turn on the NIO ones rather than the BIO ones. The tomcat code base
we are shipping is based pretty much on near-to-6.0.14 code but with
the annotation processor changes applied, which we need for
certification. I imagine as soon as the annotation processor changes
are in a released tomcat version we'll switch to that, until then we
are stuck building our own copies.
thanks
david jencks
>
> Filip
>>
>> However until we get there you can either turn off the BIO
>> connector and add a NIO connector in var/config/config.xml or turn
>> off the BIO connector in config.xml and add the appropriate
>> connector to the geronimo plan for your app. You can add the NIO
>> connector using the admin console, but I think you need to turn
>> off the BIO connector by editing config.xml when geronimo is not
>> running. add the attribute load="false" to the gbean entry for
>> the BIO connector.
>>
>> Hope this helps
>> david jencks
>>
>>
>>>
>>> Thanks,
>>> Gautham.
>>>
>>> --View this message in context: http://www.nabble.com/Tomcat-
>>> connectors-tf4132628s134.html#a12077742
>>> Sent from the Apache Geronimo - Dev mailing list archive at
>>> Nabble.com.
>>>
>>
>>
>>
>> --No virus found in this incoming message.
>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>> 269.11.10/943 - Release Date: 8/8/2007 5:38 PM
>>
>>
>
Re: Tomcat connectors
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
David Jencks wrote:
>
> On Aug 9, 2007, at 11:18 AM, threepointsomething wrote:
>
>>
>> I am quite new to Geronimo, so I am not sure if the steps I followed are
>> right. Here goes:
>>
>> I had to ensure that the NIO connector is picked up in place of the
>> basic
>> HTTP connector, so I made the following change in
>> configs\tomcat6\src\plan\plan.xml:
>>
>> <gbean name="TomcatWebConnector"
>> class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean">
>>
>> I then rebuilt config\tomcat6\. When I started Geronimo, it picked up
>> the
>> NIO connector as expected.
>>
>> Listening on Ports:
>> 1050 127.0.0.1 CORBA Naming Service
>> 1099 0.0.0.0 RMI Naming
>> 1527 0.0.0.0 Derby Connector
>> 2001 127.0.0.1 OpenEJB ORB Adapter
>> 4201 0.0.0.0 OpenEJB Daemon
>> 6882 127.0.0.1 OpenEJB ORB Adapter
>> 8009 0.0.0.0 Tomcat Connector AJP AJP
>> 8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
>> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
>> 9999 0.0.0.0 JMX Remoting Connector
>> 61613 0.0.0.0 ActiveMQ Transport Connector
>> 61616 0.0.0.0 ActiveMQ Transport Connector
>>
>> I then ran a sample comet application (WAR) that was executing
>> properly in
>> Tomcat and tried it in this instance of Geronimo. Seemed to work fine.
>>
>> I was wondering if there is a simpler way of configuring NIO without
>> having
>> to rebuild config\tomcat6. If so can you please suggest how I can do
>> that?
>
> Well, I expect we actually want to ship with the NIO connectors used
> by default anyway, like we do for jetty.
I'd ship with the 6.0.14 code, tons of fixes since the last stable release.
the code has been voted stable and ready to announce, we're just waiting
for the RM to pull his head out of his rear :)
http://people.apache.org/~remm/tomcat-6/v6.0.14/
Filip
>
> However until we get there you can either turn off the BIO connector
> and add a NIO connector in var/config/config.xml or turn off the BIO
> connector in config.xml and add the appropriate connector to the
> geronimo plan for your app. You can add the NIO connector using the
> admin console, but I think you need to turn off the BIO connector by
> editing config.xml when geronimo is not running. add the attribute
> load="false" to the gbean entry for the BIO connector.
>
> Hope this helps
> david jencks
>
>
>>
>> Thanks,
>> Gautham.
>>
>> --View this message in context:
>> http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12077742
>> Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
>>
>
>
>
> --No virus found in this incoming message.
> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> 269.11.10/943 - Release Date: 8/8/2007 5:38 PM
>
>
Re: Tomcat connectors
Posted by Gautham Pai <bu...@gmail.com>.
I would like to see this too.
Do you intend to make this change in the 2.0 version of Geronimo or later
(2.0.1/2.1)?
Thanks,
Gautham.
jgenender wrote:
>
>
>
> David Jencks wrote:
>> Well, I expect we actually want to ship with the NIO connectors used by
>> default anyway, like we do for jetty.
>>
>
> +1...excellent idea.
>
> Jeff
>
>
--
View this message in context: http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12125013
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
Re: Tomcat connectors
Posted by Jeff Genender <jg...@apache.org>.
David Jencks wrote:
> Well, I expect we actually want to ship with the NIO connectors used by
> default anyway, like we do for jetty.
>
+1...excellent idea.
Jeff
Re: Tomcat connectors
Posted by Jeff Genender <jg...@apache.org>.
Yeah...I would like to see us fix this at some point. I think if we
delete a GBean, it should rebuild the car that it references or
something along those lines. A deletion is a deletion and I think a
load="false" is not really a deletion.
Jeff
Paul McMahan wrote:
> On Aug 9, 2007, at 4:56 PM, threepointsomething wrote:
>
>> I had removed the entire element <gbean
>> name="TomcatWebConnector">...</gbean> from config.xml. That
>> is when
>> it was showing 2 8080 connectors.
>>
>> If I use load="false" it seems fine and only 1 8080 connector is shown.
>
> I think you are seeing this because when you remove that section of XML
> from config.xml you are not actually removing the connector, just the
> configuration overrides for it. The connector is actually defined in
> tomcat's deployment plan. Setting load="false" in config.xml prevents
> the connector (which was defined elsewhere) from starting.
>
>
> Best wishes,
> Paul
Re: Tomcat connectors
Posted by Paul McMahan <pa...@gmail.com>.
On Aug 9, 2007, at 4:56 PM, threepointsomething wrote:
> I had removed the entire element <gbean
> name="TomcatWebConnector">...</gbean> from config.xml.
> That is when
> it was showing 2 8080 connectors.
>
> If I use load="false" it seems fine and only 1 8080 connector is
> shown.
I think you are seeing this because when you remove that section of
XML from config.xml you are not actually removing the connector, just
the configuration overrides for it. The connector is actually
defined in tomcat's deployment plan. Setting load="false" in
config.xml prevents the connector (which was defined elsewhere) from
starting.
Best wishes,
Paul
Re: Tomcat connectors
Posted by threepointsomething <bu...@gmail.com>.
I had removed the entire element <gbean
name="TomcatWebConnector">...</gbean> from config.xml. That is when
it was showing 2 8080 connectors.
If I use load="false" it seems fine and only 1 8080 connector is shown.
Is <gbean name="TomcatWebConnector"> a mandatory element?
Also one more observation. If I remove the entire element, while stopping
the server I get this:
ERROR [Connector] Coyote connector has not been started
Gautham.
jgenender wrote:
>
> You should not have 2 8080 connectors. Did you do a load="false" for
> the TomcatWebConnector?
>
> Jeff
>
>
--
View this message in context: http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12080641
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
Re: Tomcat connectors
Posted by Jeff Genender <jg...@apache.org>.
You should not have 2 8080 connectors. Did you do a load="false" for
the TomcatWebConnector?
Jeff
threepointsomething wrote:
> Great!
>
> I followed your suggestions and am now able to configure the connector via
> config.xml. Here are the steps:
>
> 1. Ensure the server is not running.
> 2. Disable the BIO connector by making the following change in
> var\config\config.xml:
>
> Remove the element <gbean name="TomcatWebConnector"> or change it to
> <gbean name="TomcatWebConnector" load="false">
>
> 3. Add the NIO connector by adding the following to var\config\config.xml:
>
> <gbean
> gbeanInfo="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean"
> name="org.apache.geronimo.configs/tomcat6/2.0.1-SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/tomcat6/2.0.1-SNAPSHOT/car,j2eeType=GBean,name=TomcatNIOConnector">
> <attribute name="port">${HTTPPortPrimary +
> PortOffset}</attribute>
> <attribute name="redirectPort">${HTTPSPortPrimary +
> PortOffset}</attribute>
> <attribute name="maxThreads">150</attribute>
> <attribute
> name="connectionTimeout">60000</attribute>
> <attribute
> name="name">TomcatNIOConnector</attribute>
> <attribute name="host">${ServerHostname}</attribute>
> <reference name="TomcatContainer">
> <pattern>
>
> <groupId>org.apache.geronimo.configs</groupId>
> <artifactId>tomcat6</artifactId>
> <version>2.0.1-SNAPSHOT</version>
> <type>car</type>
> <name>TomcatWebContainer</name>
> </pattern>
> </reference>
> <reference name="ServerInfo">
> <pattern>
>
> <groupId>org.apache.geronimo.configs</groupId>
> <artifactId>j2ee-system</artifactId>
> <version>2.0.1-SNAPSHOT</version>
> <type>car</type>
> <name>ServerInfo</name>
> </pattern>
> </reference>
> </gbean>
>
> 4. Start Geronimo. You should see the following:
>
> Listening on Ports:
> 1050 127.0.0.1 CORBA Naming Service
> 1099 0.0.0.0 RMI Naming
> 1527 0.0.0.0 Derby Connector
> 2001 127.0.0.1 OpenEJB ORB Adapter
> 4201 0.0.0.0 OpenEJB Daemon
> 6882 127.0.0.1 OpenEJB ORB Adapter
> 8009 0.0.0.0 Tomcat Connector AJP AJP
> 8080 0.0.0.0 Tomcat Connector HTTP NIO TomcatNIOConnector
> 8080 0.0.0.0 Tomcat Connector HTTP BIO HTTP
> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
> 9999 0.0.0.0 JMX Remoting Connector
> 61613 0.0.0.0 ActiveMQ Transport Connector
> 61616 0.0.0.0 ActiveMQ Transport Connector
>
> (It seems to show 8080 with a BIO connector as well. Is this a bug?)
>
> Gautham.
>
>
> djencks wrote:
>>
>> On Aug 9, 2007, at 11:18 AM, threepointsomething wrote:
>>
>>> I am quite new to Geronimo, so I am not sure if the steps I
>>> followed are
>>> right. Here goes:
>>>
>>> I had to ensure that the NIO connector is picked up in place of the
>>> basic
>>> HTTP connector, so I made the following change in
>>> configs\tomcat6\src\plan\plan.xml:
>>>
>>> <gbean name="TomcatWebConnector"
>>> class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean"&g
>>> t;
>>>
>>> I then rebuilt config\tomcat6\. When I started Geronimo, it picked
>>> up the
>>> NIO connector as expected.
>>>
>>> Listening on Ports:
>>> 1050 127.0.0.1 CORBA Naming Service
>>> 1099 0.0.0.0 RMI Naming
>>> 1527 0.0.0.0 Derby Connector
>>> 2001 127.0.0.1 OpenEJB ORB Adapter
>>> 4201 0.0.0.0 OpenEJB Daemon
>>> 6882 127.0.0.1 OpenEJB ORB Adapter
>>> 8009 0.0.0.0 Tomcat Connector AJP AJP
>>> 8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
>>> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
>>> 9999 0.0.0.0 JMX Remoting Connector
>>> 61613 0.0.0.0 ActiveMQ Transport Connector
>>> 61616 0.0.0.0 ActiveMQ Transport Connector
>>>
>>> I then ran a sample comet application (WAR) that was executing
>>> properly in
>>> Tomcat and tried it in this instance of Geronimo. Seemed to work fine.
>>>
>>> I was wondering if there is a simpler way of configuring NIO
>>> without having
>>> to rebuild config\tomcat6. If so can you please suggest how I can
>>> do that?
>> Well, I expect we actually want to ship with the NIO connectors used
>> by default anyway, like we do for jetty.
>>
>> However until we get there you can either turn off the BIO connector
>> and add a NIO connector in var/config/config.xml or turn off the BIO
>> connector in config.xml and add the appropriate connector to the
>> geronimo plan for your app. You can add the NIO connector using the
>> admin console, but I think you need to turn off the BIO connector by
>> editing config.xml when geronimo is not running. add the attribute
>> load="false" to the gbean entry for the BIO connector.
>>
>> Hope this helps
>> david jencks
>>
>>
>>> Thanks,
>>> Gautham.
>>>
>>> --
>>> View this message in context: http://www.nabble.com/Tomcat-
>>> connectors-tf4132628s134.html#a12077742
>>> Sent from the Apache Geronimo - Dev mailing list archive at
>>> Nabble.com.
>>>
>>
>>
>
Re: Tomcat connectors
Posted by threepointsomething <bu...@gmail.com>.
Great!
I followed your suggestions and am now able to configure the connector via
config.xml. Here are the steps:
1. Ensure the server is not running.
2. Disable the BIO connector by making the following change in
var\config\config.xml:
Remove the element <gbean name="TomcatWebConnector"> or change it to
<gbean name="TomcatWebConnector" load="false">
3. Add the NIO connector by adding the following to var\config\config.xml:
<gbean
gbeanInfo="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean"
name="org.apache.geronimo.configs/tomcat6/2.0.1-SNAPSHOT/car?ServiceModule=org.apache.geronimo.configs/tomcat6/2.0.1-SNAPSHOT/car,j2eeType=GBean,name=TomcatNIOConnector">
<attribute name="port">${HTTPPortPrimary +
PortOffset}</attribute>
<attribute name="redirectPort">${HTTPSPortPrimary +
PortOffset}</attribute>
<attribute name="maxThreads">150</attribute>
<attribute
name="connectionTimeout">60000</attribute>
<attribute
name="name">TomcatNIOConnector</attribute>
<attribute name="host">${ServerHostname}</attribute>
<reference name="TomcatContainer">
<pattern>
<groupId>org.apache.geronimo.configs</groupId>
<artifactId>tomcat6</artifactId>
<version>2.0.1-SNAPSHOT</version>
<type>car</type>
<name>TomcatWebContainer</name>
</pattern>
</reference>
<reference name="ServerInfo">
<pattern>
<groupId>org.apache.geronimo.configs</groupId>
<artifactId>j2ee-system</artifactId>
<version>2.0.1-SNAPSHOT</version>
<type>car</type>
<name>ServerInfo</name>
</pattern>
</reference>
</gbean>
4. Start Geronimo. You should see the following:
Listening on Ports:
1050 127.0.0.1 CORBA Naming Service
1099 0.0.0.0 RMI Naming
1527 0.0.0.0 Derby Connector
2001 127.0.0.1 OpenEJB ORB Adapter
4201 0.0.0.0 OpenEJB Daemon
6882 127.0.0.1 OpenEJB ORB Adapter
8009 0.0.0.0 Tomcat Connector AJP AJP
8080 0.0.0.0 Tomcat Connector HTTP NIO TomcatNIOConnector
8080 0.0.0.0 Tomcat Connector HTTP BIO HTTP
8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
9999 0.0.0.0 JMX Remoting Connector
61613 0.0.0.0 ActiveMQ Transport Connector
61616 0.0.0.0 ActiveMQ Transport Connector
(It seems to show 8080 with a BIO connector as well. Is this a bug?)
Gautham.
djencks wrote:
>
>
> On Aug 9, 2007, at 11:18 AM, threepointsomething wrote:
>
>>
>> I am quite new to Geronimo, so I am not sure if the steps I
>> followed are
>> right. Here goes:
>>
>> I had to ensure that the NIO connector is picked up in place of the
>> basic
>> HTTP connector, so I made the following change in
>> configs\tomcat6\src\plan\plan.xml:
>>
>> <gbean name="TomcatWebConnector"
>> class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean"&g
>> t;
>>
>> I then rebuilt config\tomcat6\. When I started Geronimo, it picked
>> up the
>> NIO connector as expected.
>>
>> Listening on Ports:
>> 1050 127.0.0.1 CORBA Naming Service
>> 1099 0.0.0.0 RMI Naming
>> 1527 0.0.0.0 Derby Connector
>> 2001 127.0.0.1 OpenEJB ORB Adapter
>> 4201 0.0.0.0 OpenEJB Daemon
>> 6882 127.0.0.1 OpenEJB ORB Adapter
>> 8009 0.0.0.0 Tomcat Connector AJP AJP
>> 8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
>> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
>> 9999 0.0.0.0 JMX Remoting Connector
>> 61613 0.0.0.0 ActiveMQ Transport Connector
>> 61616 0.0.0.0 ActiveMQ Transport Connector
>>
>> I then ran a sample comet application (WAR) that was executing
>> properly in
>> Tomcat and tried it in this instance of Geronimo. Seemed to work fine.
>>
>> I was wondering if there is a simpler way of configuring NIO
>> without having
>> to rebuild config\tomcat6. If so can you please suggest how I can
>> do that?
>
> Well, I expect we actually want to ship with the NIO connectors used
> by default anyway, like we do for jetty.
>
> However until we get there you can either turn off the BIO connector
> and add a NIO connector in var/config/config.xml or turn off the BIO
> connector in config.xml and add the appropriate connector to the
> geronimo plan for your app. You can add the NIO connector using the
> admin console, but I think you need to turn off the BIO connector by
> editing config.xml when geronimo is not running. add the attribute
> load="false" to the gbean entry for the BIO connector.
>
> Hope this helps
> david jencks
>
>
>>
>> Thanks,
>> Gautham.
>>
>> --
>> View this message in context: http://www.nabble.com/Tomcat-
>> connectors-tf4132628s134.html#a12077742
>> Sent from the Apache Geronimo - Dev mailing list archive at
>> Nabble.com.
>>
>
>
>
--
View this message in context: http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12078907
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
Re: Tomcat connectors
Posted by David Jencks <da...@yahoo.com>.
On Aug 9, 2007, at 11:18 AM, threepointsomething wrote:
>
> I am quite new to Geronimo, so I am not sure if the steps I
> followed are
> right. Here goes:
>
> I had to ensure that the NIO connector is picked up in place of the
> basic
> HTTP connector, so I made the following change in
> configs\tomcat6\src\plan\plan.xml:
>
> <gbean name="TomcatWebConnector"
> class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean"&g
> t;
>
> I then rebuilt config\tomcat6\. When I started Geronimo, it picked
> up the
> NIO connector as expected.
>
> Listening on Ports:
> 1050 127.0.0.1 CORBA Naming Service
> 1099 0.0.0.0 RMI Naming
> 1527 0.0.0.0 Derby Connector
> 2001 127.0.0.1 OpenEJB ORB Adapter
> 4201 0.0.0.0 OpenEJB Daemon
> 6882 127.0.0.1 OpenEJB ORB Adapter
> 8009 0.0.0.0 Tomcat Connector AJP AJP
> 8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
> 8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
> 9999 0.0.0.0 JMX Remoting Connector
> 61613 0.0.0.0 ActiveMQ Transport Connector
> 61616 0.0.0.0 ActiveMQ Transport Connector
>
> I then ran a sample comet application (WAR) that was executing
> properly in
> Tomcat and tried it in this instance of Geronimo. Seemed to work fine.
>
> I was wondering if there is a simpler way of configuring NIO
> without having
> to rebuild config\tomcat6. If so can you please suggest how I can
> do that?
Well, I expect we actually want to ship with the NIO connectors used
by default anyway, like we do for jetty.
However until we get there you can either turn off the BIO connector
and add a NIO connector in var/config/config.xml or turn off the BIO
connector in config.xml and add the appropriate connector to the
geronimo plan for your app. You can add the NIO connector using the
admin console, but I think you need to turn off the BIO connector by
editing config.xml when geronimo is not running. add the attribute
load="false" to the gbean entry for the BIO connector.
Hope this helps
david jencks
>
> Thanks,
> Gautham.
>
> --
> View this message in context: http://www.nabble.com/Tomcat-
> connectors-tf4132628s134.html#a12077742
> Sent from the Apache Geronimo - Dev mailing list archive at
> Nabble.com.
>
Re: Tomcat connectors
Posted by threepointsomething <bu...@gmail.com>.
I am quite new to Geronimo, so I am not sure if the steps I followed are
right. Here goes:
I had to ensure that the NIO connector is picked up in place of the basic
HTTP connector, so I made the following change in
configs\tomcat6\src\plan\plan.xml:
<gbean name="TomcatWebConnector"
class="org.apache.geronimo.tomcat.connector.Http11NIOConnectorGBean">
I then rebuilt config\tomcat6\. When I started Geronimo, it picked up the
NIO connector as expected.
Listening on Ports:
1050 127.0.0.1 CORBA Naming Service
1099 0.0.0.0 RMI Naming
1527 0.0.0.0 Derby Connector
2001 127.0.0.1 OpenEJB ORB Adapter
4201 0.0.0.0 OpenEJB Daemon
6882 127.0.0.1 OpenEJB ORB Adapter
8009 0.0.0.0 Tomcat Connector AJP AJP
8080 0.0.0.0 Tomcat Connector HTTP NIO HTTP
8443 0.0.0.0 Tomcat Connector HTTPS BIO HTTPS
9999 0.0.0.0 JMX Remoting Connector
61613 0.0.0.0 ActiveMQ Transport Connector
61616 0.0.0.0 ActiveMQ Transport Connector
I then ran a sample comet application (WAR) that was executing properly in
Tomcat and tried it in this instance of Geronimo. Seemed to work fine.
I was wondering if there is a simpler way of configuring NIO without having
to rebuild config\tomcat6. If so can you please suggest how I can do that?
Thanks,
Gautham.
--
View this message in context: http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12077742
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.
Re: Tomcat connectors
Posted by Paul McMahan <pa...@gmail.com>.
That's great! Thanks for letting us know. Would you mind sharing
what steps you took to make this work? We have a wiki at http://
cwiki.apache.org/GMOxDOC20/documentation.html where you could record
this information. Or if you would rather just respond to this thread
then I would be happy to transcribe to the wiki.
Best wishes,
Paul
On Aug 9, 2007, at 9:14 AM, threepointsomething wrote:
>
> I was finally able to get Comet to work in Geronimo using the
> Tomcat NIO
> connector.
>
> Thanks,
> Gautham.
>
> Paul McMahan-2 wrote:
>>
>> This work is complete now and available in trunk and the 2.0 branch.
>> As a side effect of introducing these new connectors we needed to
>> make some changes to the management apis (mainly WebManager) to allow
>> the connectors to specify which attributes they support, what their
>> types are (string, boolean, integer, etc), whether or not they are
>> required vs. optional, etc. All this used to be hard coded in the
>> portlet but now they are defined per connector type in
>> JettyManagerImpl and TomcatManagerImpl and the portlet just renders a
>> form with corresponding inputs and validation.
>>
>> I tried to cover as much testing as possible within our proposed
>> timeframe for 2.0 but there may still be some rough edges. In
>> particular I was not able to test the APR connectors without having
>> the native libraries. You can successfully create an APR connector
>> but without the libraries it won't start due to an unsatisfied link
>> error (as expected).
>>
>> Thanks to Jeff and David Jencks for all their help on getting this
>> important feature into 2.0.
>>
>> Best wishes,
>> Paul
>>
>> On Jul 25, 2007, at 1:43 PM, Jeff Genender wrote:
>>
>>> Ok I added a whole bunch of new connectors in the o.a.g.t.connectors
>>> package.
>>>
>>> I am still working on APR - more notes to follow on this as its a
>>> little
>>> squirly since the Tomcat Connector somewhat "chooses" this
>>> automatically
>>> based on the existence of a native libraries. For the console we
>>> may
>>> wish to do a check on whether the native libs exist, and if so,
>>> present
>>> the APR connector. More on this in another email.
>>>
>>> Here are the connectors we care about at the moment...
>>>
>>> AJP13ConnectorGBean - Implements AJP
>>> Http11ConnectorGBean - Implements blocking Http connector
>>> Https11ConnectorGBean - Implements blocking Https connector
>>> Http11NIOConnectorGBean - Implements non-blocking Http connector
>>> Https11NIOConnectorGBean - Implements non-blocking Https connector
>>>
>>> I have not wired them into the container and other GBeans yet...I
>>> want
>>> to clena them up and get any feedback before making the switch since
>>> this obviously will impact the console upon wiring them in.
>>>
>>> As a side note...I am not using any references to the WebManager or
>>> other interfaces we used that hooked into the console. We can re-
>>> add
>>> those if those are deemed necessary.
>>>
>>> Jeff
>>>
>>> Paul McMahan wrote:
>>>> I agree NIO support would be great to have in 2.0, especially
>>>> since its
>>>> required for comet.
>>>>
>>>> Best wishes,
>>>> Paul
>>>>
>>>> On Jul 23, 2007, at 2:42 PM, Jeff Genender wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I was going through some JIRAs and the Geronimo2.0 source and
>>>>> noticed it
>>>>> will be difficult at best to get the NIO connector and setting
>>>>> attributes on the APR connector for Tomcat due to its current
>>>>> implementation. I really think the ability to use these 2
>>>>> connectors is
>>>>> very important for the 2.0 release and I would like to put these
>>>>> in. If
>>>>> there are no objections, I would like this to be a part of the 2.0
>>>>> release.
>>>>>
>>>>> Jeff
>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Tomcat-
> connectors-tf4132628s134.html#a12072217
> Sent from the Apache Geronimo - Dev mailing list archive at
> Nabble.com.
>
Re: Tomcat connectors
Posted by threepointsomething <bu...@gmail.com>.
I was finally able to get Comet to work in Geronimo using the Tomcat NIO
connector.
Thanks,
Gautham.
Paul McMahan-2 wrote:
>
> This work is complete now and available in trunk and the 2.0 branch.
> As a side effect of introducing these new connectors we needed to
> make some changes to the management apis (mainly WebManager) to allow
> the connectors to specify which attributes they support, what their
> types are (string, boolean, integer, etc), whether or not they are
> required vs. optional, etc. All this used to be hard coded in the
> portlet but now they are defined per connector type in
> JettyManagerImpl and TomcatManagerImpl and the portlet just renders a
> form with corresponding inputs and validation.
>
> I tried to cover as much testing as possible within our proposed
> timeframe for 2.0 but there may still be some rough edges. In
> particular I was not able to test the APR connectors without having
> the native libraries. You can successfully create an APR connector
> but without the libraries it won't start due to an unsatisfied link
> error (as expected).
>
> Thanks to Jeff and David Jencks for all their help on getting this
> important feature into 2.0.
>
> Best wishes,
> Paul
>
> On Jul 25, 2007, at 1:43 PM, Jeff Genender wrote:
>
>> Ok I added a whole bunch of new connectors in the o.a.g.t.connectors
>> package.
>>
>> I am still working on APR - more notes to follow on this as its a
>> little
>> squirly since the Tomcat Connector somewhat "chooses" this
>> automatically
>> based on the existence of a native libraries. For the console we may
>> wish to do a check on whether the native libs exist, and if so,
>> present
>> the APR connector. More on this in another email.
>>
>> Here are the connectors we care about at the moment...
>>
>> AJP13ConnectorGBean - Implements AJP
>> Http11ConnectorGBean - Implements blocking Http connector
>> Https11ConnectorGBean - Implements blocking Https connector
>> Http11NIOConnectorGBean - Implements non-blocking Http connector
>> Https11NIOConnectorGBean - Implements non-blocking Https connector
>>
>> I have not wired them into the container and other GBeans yet...I want
>> to clena them up and get any feedback before making the switch since
>> this obviously will impact the console upon wiring them in.
>>
>> As a side note...I am not using any references to the WebManager or
>> other interfaces we used that hooked into the console. We can re-add
>> those if those are deemed necessary.
>>
>> Jeff
>>
>> Paul McMahan wrote:
>>> I agree NIO support would be great to have in 2.0, especially
>>> since its
>>> required for comet.
>>>
>>> Best wishes,
>>> Paul
>>>
>>> On Jul 23, 2007, at 2:42 PM, Jeff Genender wrote:
>>>
>>>> Hi,
>>>>
>>>> I was going through some JIRAs and the Geronimo2.0 source and
>>>> noticed it
>>>> will be difficult at best to get the NIO connector and setting
>>>> attributes on the APR connector for Tomcat due to its current
>>>> implementation. I really think the ability to use these 2
>>>> connectors is
>>>> very important for the 2.0 release and I would like to put these
>>>> in. If
>>>> there are no objections, I would like this to be a part of the 2.0
>>>> release.
>>>>
>>>> Jeff
>
>
>
--
View this message in context: http://www.nabble.com/Tomcat-connectors-tf4132628s134.html#a12072217
Sent from the Apache Geronimo - Dev mailing list archive at Nabble.com.