Re: Size of the Java client

2010-05-27 Thread Emmanuel Bourg

Le 27/05/2010 01:55, Rajith Attapattu a écrit :


532Kbuild/lib/qpid-client-0.7.jar
32K build/lib/mina-filter-ssl-1.0.1.jar
4.0Kbuild/lib/plugins
1.4Mbuild/lib/qpid-common-0.7.jar
24K build/lib/qpid-all.jar
308Kbuild/lib/mina-core-1.0.1.jar
28K build/lib/geronimo-jms_1.1_spec-1.0.jar
16K build/lib/slf4j-api-1.4.0.ja


Do you think it could be possible to split the qpid-common jar? A large 
part of this jar consists of the framing for the different versions of 
the protocol. By removing the 0-8, 0-9 and 0-91 classes the jar is 
reduced by 56%.


I imagine there could be one jar per version, and the user would keep 
only those he needs.


Emmanuel Bourg



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Size of the Java client

2010-05-27 Thread Rajith Attapattu
On Thu, May 27, 2010 at 12:06 PM, Emmanuel Bourg ebo...@apache.org wrote:
 Le 27/05/2010 01:55, Rajith Attapattu a écrit :

 532K    build/lib/qpid-client-0.7.jar
 32K     build/lib/mina-filter-ssl-1.0.1.jar
 4.0K    build/lib/plugins
 1.4M    build/lib/qpid-common-0.7.jar
 24K     build/lib/qpid-all.jar
 308K    build/lib/mina-core-1.0.1.jar
 28K     build/lib/geronimo-jms_1.1_spec-1.0.jar
 16K     build/lib/slf4j-api-1.4.0.ja

 Do you think it could be possible to split the qpid-common jar? A large part
 of this jar consists of the framing for the different versions of the
 protocol. By removing the 0-8, 0-9 and 0-91 classes the jar is reduced by
 56%.

 I imagine there could be one jar per version, and the user would keep only
 those he needs.

I was also thinking along the same lines.
One of the key requirements for the Java client is to able to support
multiple protocol versions.
Splitting into multiple jars based on protocol versions should be ok
as long as we preserve that.
The default client should include all jars, but in documentation we
could mention that they can just copy only the jars they are
interested in.

I think the same can be done for the transports as well. Since 0-10
client doesn't use mina, anybody who is only interested in 0-10 can
easily get rid of the mina jars.

Another more important thing to do is to have look at all the classes
in common and get rid of classes that are not used.
Also if classes are only used on the broker side, then they should be
moved to the broker module.

 Emmanuel Bourg





-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-27 Thread Emmanuel Bourg

Le 27/05/2010 02:35, Martin Ritchie a écrit :


Don't for get to count your favourite slf4j binding to make the total
size of a usable client.


SLF4J 1.6 has been released earlier this month. The bindings are now 
optional and you can run with just the base jar (24K only).


Emmanuel Bourg



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Size of the Java client

2010-05-27 Thread Emmanuel Bourg

Le 27/05/2010 02:32, Martin Ritchie a écrit :


I've been swamped and hadn't had the chance, I'll make a effort this
weekend as I'd like to see us using a somewhat more recent MIna. We
can easily get rid of backport-util by putting the dummy Java.15
version in. It simply proxies the Java concurrent classes rather than
using the 1.4 compatible approach.


I updated the patch in QPID-2498 if you want to review it this weekend.

Emmanuel Bourg



smime.p7s
Description: S/MIME Cryptographic Signature


Re: Size of the Java client

2010-05-27 Thread Rajith Attapattu
On Thu, May 27, 2010 at 12:39 PM, Emmanuel Bourg ebo...@apache.org wrote:
 Le 27/05/2010 02:35, Martin Ritchie a écrit :

 Don't for get to count your favourite slf4j binding to make the total
 size of a usable client.

 SLF4J 1.6 has been released earlier this month. The bindings are now
 optional and you can run with just the base jar (24K only).

 Emmanuel Bourg

Yes, I mentioned this on the java logging thread last week.
I plan to upgrade to SLF4J 1.6 before the next release.
I believe the consensus was to ship with no binding and the 1.6
version is perfect as it will just print a message and default to noop
if no binding is present.

-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-27 Thread Martin Ritchie
On 27 May 2010 17:42, Emmanuel Bourg ebo...@apache.org wrote:
 Le 27/05/2010 02:32, Martin Ritchie a écrit :

 I've been swamped and hadn't had the chance, I'll make a effort this
 weekend as I'd like to see us using a somewhat more recent MIna. We
 can easily get rid of backport-util by putting the dummy Java.15
 version in. It simply proxies the Java concurrent classes rather than
 using the 1.4 compatible approach.

 I updated the patch in QPID-2498 if you want to review it this weekend.

Cheers will take a look.

 Emmanuel Bourg





-- 
Martin Ritchie

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-27 Thread Martin Ritchie
On 27 May 2010 17:16, Rajith Attapattu rajit...@gmail.com wrote:
 On Thu, May 27, 2010 at 12:06 PM, Emmanuel Bourg ebo...@apache.org wrote:
 Le 27/05/2010 01:55, Rajith Attapattu a écrit :

 532Kbuild/lib/qpid-client-0.7.jar
 32K build/lib/mina-filter-ssl-1.0.1.jar
 4.0Kbuild/lib/plugins
 1.4Mbuild/lib/qpid-common-0.7.jar
 24K build/lib/qpid-all.jar
 308Kbuild/lib/mina-core-1.0.1.jar
 28K build/lib/geronimo-jms_1.1_spec-1.0.jar
 16K build/lib/slf4j-api-1.4.0.ja

 Do you think it could be possible to split the qpid-common jar? A large part
 of this jar consists of the framing for the different versions of the
 protocol. By removing the 0-8, 0-9 and 0-91 classes the jar is reduced by
 56%.

 I imagine there could be one jar per version, and the user would keep only
 those he needs.

 I was also thinking along the same lines.
 One of the key requirements for the Java client is to able to support
 multiple protocol versions.
 Splitting into multiple jars based on protocol versions should be ok
 as long as we preserve that.
 The default client should include all jars, but in documentation we
 could mention that they can just copy only the jars they are
 interested in.

 I think the same can be done for the transports as well. Since 0-10
 client doesn't use mina, anybody who is only interested in 0-10 can
 easily get rid of the mina jars.

 Another more important thing to do is to have look at all the classes
 in common and get rid of classes that are not used.
 Also if classes are only used on the broker side, then they should be
 moved to the broker module.

Ideally I'd like to see us have a very small qpid-common that is
basically our interfaces between protocol and transports.

Then we can drop in OSGi-fied protocol jars and transports such as
Mina/Growl or our own transport. I'm hoping to find time to write up
the push to modularise the java broker.  Just not enought time right
now.

 Emmanuel Bourg





 --
 Regards,

 Rajith Attapattu
 Red Hat
 http://rajith.2rlabs.com/

 -
 Apache Qpid - AMQP Messaging Implementation
 Project:  http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org





-- 
Martin Ritchie

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



RE: Size of the Java client

2010-05-27 Thread Robbie Gemmell
I'm not sure this would work actually, looking that the project page it says 
the 1.5 dummy isn't compatible with 1.6+ JVM's 

Robbie

 -Original Message-
 From: Martin Ritchie [mailto:ritch...@apache.org]
 Sent: 27 May 2010 01:33
 To: dev@qpid.apache.org
 Subject: Re: Size of the Java client
 
snip
 We can easily get rid of backport-util by putting the dummy Java.15
 version in. It simply proxies the Java concurrent classes rather than
 using the 1.4 compatible approach.
 
/snip



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-27 Thread Martin Ritchie
On 27 May 2010 21:52, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 I'm not sure this would work actually, looking that the project page it says 
 the 1.5 dummy isn't compatible with 1.6+ JVM's

:( how disappointing.

 Robbie

 -Original Message-
 From: Martin Ritchie [mailto:ritch...@apache.org]
 Sent: 27 May 2010 01:33
 To: dev@qpid.apache.org
 Subject: Re: Size of the Java client

 snip
 We can easily get rid of backport-util by putting the dummy Java.15
 version in. It simply proxies the Java concurrent classes rather than
 using the 1.4 compatible approach.

 /snip



 -
 Apache Qpid - AMQP Messaging Implementation
 Project:  http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org





-- 
Martin Ritchie

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-26 Thread Rajith Attapattu
If we upgrade to mina 1.1.7 then we could easily get rid of
backport-util-concurrent.jar.
With the changes I proposed in QPID-2629 we reduce this a bit further as well.

For the client release, if we don't ship the tests then with the above
changes we could get somewhere close to ~ 2.3 MB.
Here's the break down.

532Kbuild/lib/qpid-client-0.7.jar
32K build/lib/mina-filter-ssl-1.0.1.jar
4.0Kbuild/lib/plugins
1.4Mbuild/lib/qpid-common-0.7.jar
24K build/lib/qpid-all.jar
308Kbuild/lib/mina-core-1.0.1.jar
28K build/lib/geronimo-jms_1.1_spec-1.0.jar
16K build/lib/slf4j-api-1.4.0.ja

Rajith

On Wed, Mar 31, 2010 at 2:51 PM, Joshua Kramer j...@globalherald.net wrote:

 would expect a message queue client to be not bigger than ~500KB
 (dependencies included and fully compressed with pack200+lzma)

 500KB would be nice.  Some of my science experiments target Java-based
 platforms with 1MB of Flash and 1MB of RAM.  For now I open sockets to a
 server, and the server in turn does any queue manaement things as needed.

 http://www.maxim-ic.com/products/microcontrollers/tini/

 Cheers,
 -JK


 -
 Apache Qpid - AMQP Messaging Implementation
 Project:      http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org





-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-26 Thread Sorin S.
Hi,
+1 for the idea of getting rid of backport-util-concurrent jar
As a curiosity, did anybody run any kind of test with Emmanuel's patch for
upgrading to Mina 1.1.7 - is this change bringing any noticeable
improvement?

Thanks,

Sorin





On Thu, May 27, 2010 at 12:55 AM, Rajith Attapattu rajit...@gmail.comwrote:

 If we upgrade to mina 1.1.7 then we could easily get rid of
 backport-util-concurrent.jar.
 With the changes I proposed in QPID-2629 we reduce this a bit further as
 well.

 For the client release, if we don't ship the tests then with the above
 changes we could get somewhere close to ~ 2.3 MB.
 Here's the break down.

 532Kbuild/lib/qpid-client-0.7.jar
 32K build/lib/mina-filter-ssl-1.0.1.jar
 4.0Kbuild/lib/plugins
 1.4Mbuild/lib/qpid-common-0.7.jar
 24K build/lib/qpid-all.jar
 308Kbuild/lib/mina-core-1.0.1.jar
 28K build/lib/geronimo-jms_1.1_spec-1.0.jar
 16K build/lib/slf4j-api-1.4.0.ja

 Rajith

 On Wed, Mar 31, 2010 at 2:51 PM, Joshua Kramer j...@globalherald.net
 wrote:
 
  would expect a message queue client to be not bigger than ~500KB
  (dependencies included and fully compressed with pack200+lzma)
 
  500KB would be nice.  Some of my science experiments target Java-based
  platforms with 1MB of Flash and 1MB of RAM.  For now I open sockets to a
  server, and the server in turn does any queue manaement things as needed.
 
  http://www.maxim-ic.com/products/microcontrollers/tini/
 
  Cheers,
  -JK
 
 
  -
  Apache Qpid - AMQP Messaging Implementation
  Project:  http://qpid.apache.org
  Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
 



 --
 Regards,

 Rajith Attapattu
 Red Hat
 http://rajith.2rlabs.com/

 -
 Apache Qpid - AMQP Messaging Implementation
 Project:  http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org




-- 
Sorin S


Re: Size of the Java client

2010-05-26 Thread Martin Ritchie
On 27 May 2010 01:16, Sorin S. ssu...@gmail.com wrote:
 Hi,
 +1 for the idea of getting rid of backport-util-concurrent jar
 As a curiosity, did anybody run any kind of test with Emmanuel's patch for
 upgrading to Mina 1.1.7 - is this change bringing any noticeable
 improvement?

I've been swamped and hadn't had the chance, I'll make a effort this
weekend as I'd like to see us using a somewhat more recent MIna. We
can easily get rid of backport-util by putting the dummy Java.15
version in. It simply proxies the Java concurrent classes rather than
using the 1.4 compatible approach.


 Thanks,

 Sorin





 On Thu, May 27, 2010 at 12:55 AM, Rajith Attapattu rajit...@gmail.comwrote:

 If we upgrade to mina 1.1.7 then we could easily get rid of
 backport-util-concurrent.jar.
 With the changes I proposed in QPID-2629 we reduce this a bit further as
 well.

 For the client release, if we don't ship the tests then with the above
 changes we could get somewhere close to ~ 2.3 MB.
 Here's the break down.

 532K    build/lib/qpid-client-0.7.jar
 32K     build/lib/mina-filter-ssl-1.0.1.jar
 4.0K    build/lib/plugins
 1.4M    build/lib/qpid-common-0.7.jar
 24K     build/lib/qpid-all.jar
 308K    build/lib/mina-core-1.0.1.jar
 28K     build/lib/geronimo-jms_1.1_spec-1.0.jar
 16K     build/lib/slf4j-api-1.4.0.ja

 Rajith

 On Wed, Mar 31, 2010 at 2:51 PM, Joshua Kramer j...@globalherald.net
 wrote:
 
  would expect a message queue client to be not bigger than ~500KB
  (dependencies included and fully compressed with pack200+lzma)
 
  500KB would be nice.  Some of my science experiments target Java-based
  platforms with 1MB of Flash and 1MB of RAM.  For now I open sockets to a
  server, and the server in turn does any queue manaement things as needed.
 
  http://www.maxim-ic.com/products/microcontrollers/tini/
 
  Cheers,
  -JK
 
 
  -
  Apache Qpid - AMQP Messaging Implementation
  Project:      http://qpid.apache.org
  Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
 



 --
 Regards,

 Rajith Attapattu
 Red Hat
 http://rajith.2rlabs.com/

 -
 Apache Qpid - AMQP Messaging Implementation
 Project:      http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org




 --
 Sorin S




-- 
Martin Ritchie

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-05-26 Thread Martin Ritchie
On 27 May 2010 00:55, Rajith Attapattu rajit...@gmail.com wrote:
 If we upgrade to mina 1.1.7 then we could easily get rid of
 backport-util-concurrent.jar.
 With the changes I proposed in QPID-2629 we reduce this a bit further as well.

 For the client release, if we don't ship the tests then with the above
 changes we could get somewhere close to ~ 2.3 MB.
 Here's the break down.

 532K    build/lib/qpid-client-0.7.jar
 32K     build/lib/mina-filter-ssl-1.0.1.jar
 4.0K    build/lib/plugins
 1.4M    build/lib/qpid-common-0.7.jar
 24K     build/lib/qpid-all.jar
 308K    build/lib/mina-core-1.0.1.jar
 28K     build/lib/geronimo-jms_1.1_spec-1.0.jar
 16K     build/lib/slf4j-api-1.4.0.ja

Don't for get to count your favourite slf4j binding to make the total
size of a usable client.

 Rajith

 On Wed, Mar 31, 2010 at 2:51 PM, Joshua Kramer j...@globalherald.net wrote:

 would expect a message queue client to be not bigger than ~500KB
 (dependencies included and fully compressed with pack200+lzma)

 500KB would be nice.  Some of my science experiments target Java-based
 platforms with 1MB of Flash and 1MB of RAM.  For now I open sockets to a
 server, and the server in turn does any queue manaement things as needed.

 http://www.maxim-ic.com/products/microcontrollers/tini/

 Cheers,
 -JK


 -
 Apache Qpid - AMQP Messaging Implementation
 Project:      http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org





 --
 Regards,

 Rajith Attapattu
 Red Hat
 http://rajith.2rlabs.com/

 -
 Apache Qpid - AMQP Messaging Implementation
 Project:      http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org





-- 
Martin Ritchie

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-03-31 Thread Joshua Kramer


would expect a message queue client to be not bigger than ~500KB 
(dependencies included and fully compressed with pack200+lzma)


500KB would be nice.  Some of my science experiments target Java-based 
platforms with 1MB of Flash and 1MB of RAM.  For now I open sockets to a 
server, and the server in turn does any queue manaement things as needed.


http://www.maxim-ic.com/products/microcontrollers/tini/

Cheers,
-JK


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: Size of the Java client

2010-03-30 Thread Emmanuel Bourg

Rafael Schloming a écrit :

I'm generally in favor of examining and reducing our dependencies where 
possible. We haven't done this in a long time, so I wouldn't be 
surprised if they could be trimmed a bit. Do you have a specific 
size/configuration in mind? Are you looking at embedded usage or something?


I'm not specifically looking at an embedded usage, that will be for a 
desktop application, but I generally pay attention to the size of the 
dependencies. I would expect a message queue client to be not bigger 
than ~500KB (dependencies included and fully compressed with pack200+lzma)


Also less dependencies helps avoiding dependency hell. For example I 
also use backport-util-concurrent on my project, but at version 3.1. I'm 
not confident the Qpid Java client would work fine since it depends on 
the 2.2 version.


Emmanuel Bourg

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org