Trouble going from 2.2 to 2.3

2014-12-19 Thread Tim Peierls
The default connectors for various editions have changed between 2.2 and
2.3 (actually between 2.3-RC1 and 2.3.0). JEE edition no longer registers
HTTP or HTTPS server helpers; JSE still does.

Assuming this was intentional and not an oversight, the change causes
problems for me. For several versions now I've been able to maintain one
build that works both as a standalone deployment and when embedded in a WAR
for deployment in a production server running Tomcat. I've used the JEE
edition because of the dependency on org.restlet.ext.servlet.ServerServlet.

(Why use Tomcat at all? There are better connectors for production
purposes. Short answer is that it plays well with AWS Elastic Beanstalk.)

With this latest change, however, the standalone deployment no longer
works. I get message: No available server connector supports the required
protocols: 'HTTP' Please add the jar of a matching connector to your
classpath.
https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L650-L663

It's because no HttpServerHelper has been registered in these lines
https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L896-L901
for JEE (the jee token was added to the #ifndef list only a few days
ago). I'd be happy to add the jar of a matching connector if there was one
that the JEE edition supported, but the obvious candidates, Jetty and
Simple, don't seem to be available for that edition.

I'd be happy to switch to the JSE edition, but then I wouldn't be able to
compile against org.restlet.ext.servlet.

There's an existing issue which is vaguely related:

https://github.com/restlet/restlet-framework-java/issues/876

I'm not filing my own issue yet, because I don't see it as a bug, but I'd
like advice on what to do here. I'd prefer not to have to make separate
builds -- it was a really nice property that I could run the same code and
libraries either standalone or deployed as a WAR.

--tim

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=3093127

Re: Trouble going from 2.2 to 2.3

2014-12-19 Thread Thierry Boileau
Hi Tim,

I'm afraid I've taken all alone the decision to remove these files as they
appeared useless to me. I feel really sorry about that.
I revert back these changes on the 2.3 and master branches: that is to say
the JEE edition provides these connectors. However, I wonder if we have to
register these connectors by default, what is your thinking about that?

And unfortunately, I won't be able to package a 2.3.1 release soon, I can
achieve this on the 29th of December.


Best regards,
Thierry Boileau



2014-12-19 20:34 GMT+01:00 Tim Peierls t...@peierls.net:

 The default connectors for various editions have changed between 2.2 and
 2.3 (actually between 2.3-RC1 and 2.3.0). JEE edition no longer registers
 HTTP or HTTPS server helpers; JSE still does.

 Assuming this was intentional and not an oversight, the change causes
 problems for me. For several versions now I've been able to maintain one
 build that works both as a standalone deployment and when embedded in a WAR
 for deployment in a production server running Tomcat. I've used the JEE
 edition because of the dependency on org.restlet.ext.servlet.ServerServlet.

 (Why use Tomcat at all? There are better connectors for production
 purposes. Short answer is that it plays well with AWS Elastic Beanstalk.)

 With this latest change, however, the standalone deployment no longer
 works. I get message: No available server connector supports the required
 protocols: 'HTTP' Please add the jar of a matching connector to your
 classpath.
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L650-L663

 It's because no HttpServerHelper has been registered in these lines
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L896-L901
 for JEE (the jee token was added to the #ifndef list only a few days
 ago). I'd be happy to add the jar of a matching connector if there was one
 that the JEE edition supported, but the obvious candidates, Jetty and
 Simple, don't seem to be available for that edition.

 I'd be happy to switch to the JSE edition, but then I wouldn't be able to
 compile against org.restlet.ext.servlet.

 There's an existing issue which is vaguely related:

 https://github.com/restlet/restlet-framework-java/issues/876

 I'm not filing my own issue yet, because I don't see it as a bug, but I'd
 like advice on what to do here. I'd prefer not to have to make separate
 builds -- it was a really nice property that I could run the same code and
 libraries either standalone or deployed as a WAR.

 --tim




-- 
*Thierry Boileau, Mr B*
+1 (408) 387-3184 • tboil...@restlet.com

http://restlet.com/
6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=3093128

Re: Trouble going from 2.2 to 2.3

2014-12-19 Thread Thierry Boileau
wow, I need vacations!
The fix is exactly: register these default connectors.

Best regards,
Thierry Boileau


2014-12-19 21:02 GMT+01:00 Thierry Boileau tboil...@restlet.com:

 Hi Tim,

 I'm afraid I've taken all alone the decision to remove these files as they
 appeared useless to me. I feel really sorry about that.
 I revert back these changes on the 2.3 and master branches: that is to say
 the JEE edition provides these connectors. However, I wonder if we have to
 register these connectors by default, what is your thinking about that?

 And unfortunately, I won't be able to package a 2.3.1 release soon, I can
 achieve this on the 29th of December.


 Best regards,
 Thierry Boileau



 2014-12-19 20:34 GMT+01:00 Tim Peierls t...@peierls.net:

 The default connectors for various editions have changed between 2.2 and
 2.3 (actually between 2.3-RC1 and 2.3.0). JEE edition no longer registers
 HTTP or HTTPS server helpers; JSE still does.

 Assuming this was intentional and not an oversight, the change causes
 problems for me. For several versions now I've been able to maintain one
 build that works both as a standalone deployment and when embedded in a WAR
 for deployment in a production server running Tomcat. I've used the JEE
 edition because of the dependency on org.restlet.ext.servlet.ServerServlet.

 (Why use Tomcat at all? There are better connectors for production
 purposes. Short answer is that it plays well with AWS Elastic Beanstalk.)

 With this latest change, however, the standalone deployment no longer
 works. I get message: No available server connector supports the
 required protocols: 'HTTP' Please add the jar of a matching connector to
 your classpath.
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L650-L663

 It's because no HttpServerHelper has been registered in these lines
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L896-L901
 for JEE (the jee token was added to the #ifndef list only a few days
 ago). I'd be happy to add the jar of a matching connector if there was one
 that the JEE edition supported, but the obvious candidates, Jetty and
 Simple, don't seem to be available for that edition.

 I'd be happy to switch to the JSE edition, but then I wouldn't be able to
 compile against org.restlet.ext.servlet.

 There's an existing issue which is vaguely related:

 https://github.com/restlet/restlet-framework-java/issues/876

 I'm not filing my own issue yet, because I don't see it as a bug, but I'd
 like advice on what to do here. I'd prefer not to have to make separate
 builds -- it was a really nice property that I could run the same code and
 libraries either standalone or deployed as a WAR.

 --tim




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France




-- 
*Thierry Boileau, Mr B*
+1 (408) 387-3184 • tboil...@restlet.com

http://restlet.com/
6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=3093129

Re: Trouble going from 2.2 to 2.3

2014-12-19 Thread Tim Peierls
I tried adding this line:

Engine.getInstance().getRegisteredServers().add(
new org.restlet.engine.connector.HttpServerHelper(null));

but it didn't seem to work -- maybe I didn't call it early enough. As far
as you know, though, that's all I should have to do?

On Fri, Dec 19, 2014 at 3:08 PM, Thierry Boileau tboil...@restlet.com
wrote:

 wow, I need vacations!
 The fix is exactly: register these default connectors.

 Best regards,
 Thierry Boileau


 2014-12-19 21:02 GMT+01:00 Thierry Boileau tboil...@restlet.com:

 Hi Tim,

 I'm afraid I've taken all alone the decision to remove these files as
 they appeared useless to me. I feel really sorry about that.
 I revert back these changes on the 2.3 and master branches: that is to
 say the JEE edition provides these connectors. However, I wonder if we have
 to register these connectors by default, what is your thinking about that?

 And unfortunately, I won't be able to package a 2.3.1 release soon, I can
 achieve this on the 29th of December.


 Best regards,
 Thierry Boileau



 2014-12-19 20:34 GMT+01:00 Tim Peierls t...@peierls.net:

 The default connectors for various editions have changed between 2.2 and
 2.3 (actually between 2.3-RC1 and 2.3.0). JEE edition no longer registers
 HTTP or HTTPS server helpers; JSE still does.

 Assuming this was intentional and not an oversight, the change causes
 problems for me. For several versions now I've been able to maintain one
 build that works both as a standalone deployment and when embedded in a WAR
 for deployment in a production server running Tomcat. I've used the JEE
 edition because of the dependency on org.restlet.ext.servlet.ServerServlet.

 (Why use Tomcat at all? There are better connectors for production
 purposes. Short answer is that it plays well with AWS Elastic Beanstalk.)

 With this latest change, however, the standalone deployment no longer
 works. I get message: No available server connector supports the
 required protocols: 'HTTP' Please add the jar of a matching connector to
 your classpath.
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L650-L663

 It's because no HttpServerHelper has been registered in these lines
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L896-L901
 for JEE (the jee token was added to the #ifndef list only a few days
 ago). I'd be happy to add the jar of a matching connector if there was one
 that the JEE edition supported, but the obvious candidates, Jetty and
 Simple, don't seem to be available for that edition.

 I'd be happy to switch to the JSE edition, but then I wouldn't be able
 to compile against org.restlet.ext.servlet.

 There's an existing issue which is vaguely related:

 https://github.com/restlet/restlet-framework-java/issues/876

 I'm not filing my own issue yet, because I don't see it as a bug, but
 I'd like advice on what to do here. I'd prefer not to have to make separate
 builds -- it was a really nice property that I could run the same code and
 libraries either standalone or deployed as a WAR.

 --tim




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France


--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=3093130

Re: Trouble going from 2.2 to 2.3

2014-12-19 Thread Thierry Boileau
Hi Tim,

I think it is not called early enough. It should be done before the
Component.getServers() method is called.

--
Thierry Boileau

2014-12-19 21:10 GMT+01:00 Tim Peierls t...@peierls.net:

 I tried adding this line:

 Engine.getInstance().getRegisteredServers().add(
 new org.restlet.engine.connector.HttpServerHelper(null));

 but it didn't seem to work -- maybe I didn't call it early enough. As far
 as you know, though, that's all I should have to do?

 On Fri, Dec 19, 2014 at 3:08 PM, Thierry Boileau tboil...@restlet.com
 wrote:

 wow, I need vacations!
 The fix is exactly: register these default connectors.

 Best regards,
 Thierry Boileau


 2014-12-19 21:02 GMT+01:00 Thierry Boileau tboil...@restlet.com:

 Hi Tim,

 I'm afraid I've taken all alone the decision to remove these files as
 they appeared useless to me. I feel really sorry about that.
 I revert back these changes on the 2.3 and master branches: that is to
 say the JEE edition provides these connectors. However, I wonder if we have
 to register these connectors by default, what is your thinking about that?

 And unfortunately, I won't be able to package a 2.3.1 release soon, I
 can achieve this on the 29th of December.


 Best regards,
 Thierry Boileau



 2014-12-19 20:34 GMT+01:00 Tim Peierls t...@peierls.net:

 The default connectors for various editions have changed between 2.2
 and 2.3 (actually between 2.3-RC1 and 2.3.0). JEE edition no longer
 registers HTTP or HTTPS server helpers; JSE still does.

 Assuming this was intentional and not an oversight, the change causes
 problems for me. For several versions now I've been able to maintain one
 build that works both as a standalone deployment and when embedded in a WAR
 for deployment in a production server running Tomcat. I've used the JEE
 edition because of the dependency on org.restlet.ext.servlet.ServerServlet.

 (Why use Tomcat at all? There are better connectors for production
 purposes. Short answer is that it plays well with AWS Elastic Beanstalk.)

 With this latest change, however, the standalone deployment no longer
 works. I get message: No available server connector supports the
 required protocols: 'HTTP' Please add the jar of a matching connector to
 your classpath.
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L650-L663

 It's because no HttpServerHelper has been registered in these lines
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L896-L901
 for JEE (the jee token was added to the #ifndef list only a few days
 ago). I'd be happy to add the jar of a matching connector if there was one
 that the JEE edition supported, but the obvious candidates, Jetty and
 Simple, don't seem to be available for that edition.

 I'd be happy to switch to the JSE edition, but then I wouldn't be able
 to compile against org.restlet.ext.servlet.

 There's an existing issue which is vaguely related:

 https://github.com/restlet/restlet-framework-java/issues/876

 I'm not filing my own issue yet, because I don't see it as a bug, but
 I'd like advice on what to do here. I'd prefer not to have to make separate
 builds -- it was a really nice property that I could run the same code and
 libraries either standalone or deployed as a WAR.

 --tim




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France




-- 
*Thierry Boileau, Mr B*
+1 (408) 387-3184 • tboil...@restlet.com

http://restlet.com/
6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=3093131

Re: Trouble going from 2.2 to 2.3

2014-12-19 Thread Tim Peierls
It worked, thanks!

And for those out there wanting to have JUnit tests that involve HTTP
service with Restlet 2.3.x JEE edition, here's a handy trick:

Stick the following code in your test classes, either in each concrete
class or in a common abstract base:

@BeforeClass
public static void ensureHttpServer() {
org.restlet.engine.Engine.getInstance().getRegisteredServers().add(
new org.restlet.engine.connector.HttpServerHelper(null));
}

The key is that you only want to do this once, which is why it's annotated
@BeforeClass rather than just @Before. Then you can create and start your
Restlet Component and Application(s) with @Before and stop them and tear
them down in @After. I like to make the test class extend Application, but
there are a number of other patterns that work here.

Of course you could just run your tests with the JSE edition, but I'm
happier running my tests against the same exact jars that I deploy with.

--tim

On Fri, Dec 19, 2014 at 3:23 PM, Thierry Boileau tboil...@restlet.com
wrote:

 Hi Tim,

 I think it is not called early enough. It should be done before the
 Component.getServers() method is called.

 --
 Thierry Boileau

 2014-12-19 21:10 GMT+01:00 Tim Peierls t...@peierls.net:

 I tried adding this line:

 Engine.getInstance().getRegisteredServers().add(
 new org.restlet.engine.connector.HttpServerHelper(null));

 but it didn't seem to work -- maybe I didn't call it early enough. As far
 as you know, though, that's all I should have to do?

 On Fri, Dec 19, 2014 at 3:08 PM, Thierry Boileau tboil...@restlet.com
 wrote:

 wow, I need vacations!
 The fix is exactly: register these default connectors.

 Best regards,
 Thierry Boileau


 2014-12-19 21:02 GMT+01:00 Thierry Boileau tboil...@restlet.com:

 Hi Tim,

 I'm afraid I've taken all alone the decision to remove these files as
 they appeared useless to me. I feel really sorry about that.
 I revert back these changes on the 2.3 and master branches: that is to
 say the JEE edition provides these connectors. However, I wonder if we have
 to register these connectors by default, what is your thinking about that?

 And unfortunately, I won't be able to package a 2.3.1 release soon, I
 can achieve this on the 29th of December.


 Best regards,
 Thierry Boileau



 2014-12-19 20:34 GMT+01:00 Tim Peierls t...@peierls.net:

 The default connectors for various editions have changed between 2.2
 and 2.3 (actually between 2.3-RC1 and 2.3.0). JEE edition no longer
 registers HTTP or HTTPS server helpers; JSE still does.

 Assuming this was intentional and not an oversight, the change causes
 problems for me. For several versions now I've been able to maintain one
 build that works both as a standalone deployment and when embedded in a 
 WAR
 for deployment in a production server running Tomcat. I've used the JEE
 edition because of the dependency on 
 org.restlet.ext.servlet.ServerServlet.

 (Why use Tomcat at all? There are better connectors for production
 purposes. Short answer is that it plays well with AWS Elastic Beanstalk.)

 With this latest change, however, the standalone deployment no longer
 works. I get message: No available server connector supports the
 required protocols: 'HTTP' Please add the jar of a matching connector to
 your classpath.
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L650-L663

 It's because no HttpServerHelper has been registered in these lines
 https://github.com/restlet/restlet-framework-java/blob/09c78b4737c1eda45a276dc284d4ffee61f8efca/modules/org.restlet/src/org/restlet/engine/Engine.java#L896-L901
 for JEE (the jee token was added to the #ifndef list only a few days
 ago). I'd be happy to add the jar of a matching connector if there was one
 that the JEE edition supported, but the obvious candidates, Jetty and
 Simple, don't seem to be available for that edition.

 I'd be happy to switch to the JSE edition, but then I wouldn't be able
 to compile against org.restlet.ext.servlet.

 There's an existing issue which is vaguely related:

 https://github.com/restlet/restlet-framework-java/issues/876

 I'm not filing my own issue yet, because I don't see it as a bug, but
 I'd like advice on what to do here. I'd prefer not to have to make 
 separate
 builds -- it was a really nice property that I could run the same code and
 libraries either standalone or deployed as a WAR.

 --tim




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France




 --
 *Thierry Boileau, Mr B*
 +1 (408) 387-3184 • tboil...@restlet.com

 http://restlet.com/
 6 Rue Rose Dieng-Kuntz • Nantes, 44300 • France