Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 39173 invoked from network); 9 Jan 2006 09:56:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 9 Jan 2006 09:56:42 -0000 Received: (qmail 62924 invoked by uid 500); 9 Jan 2006 09:56:40 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 62834 invoked by uid 500); 9 Jan 2006 09:56:39 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 62823 invoked by uid 99); 9 Jan 2006 09:56:39 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Jan 2006 01:56:39 -0800 X-ASF-Spam-Status: No, hits=0.5 required=10.0 tests=DNS_FROM_RFC_ABUSE,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [216.136.173.31] (HELO smtp011.mail.yahoo.com) (216.136.173.31) by apache.org (qpsmtpd/0.29) with SMTP; Mon, 09 Jan 2006 01:56:38 -0800 Received: (qmail 31027 invoked from network); 9 Jan 2006 09:56:17 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:Mime-Version:In-Reply-To:References:Content-Type:Message-Id:From:Subject:Date:To:X-Mailer; b=hPo20wKmYu2W/4vJdTSPjWLtW5pe5nK7KBHBuWSw4qcaEB50lKwzBrsqjlHPhXwrrzHuWual7SZPMwQr8xXuu894mRhLwAOZoZHMafAXNaO9Rk7rQz4PqjvEoXS196CSZW4391vh3oQoQgRKWYPaakpLlWkLJEdTk9B4CGfprRA= ; Received: from unknown (HELO ?192.168.1.5?) (david?jencks@66.93.38.137 with plain) by smtp011.mail.yahoo.com with SMTP; 9 Jan 2006 09:56:15 -0000 Mime-Version: 1.0 (Apple Message framework v746.2) In-Reply-To: <20060109010214.F5773@yvyyl> References: <20060108071904.T3755@yvyyl> <74e15baa0601080749n176db416ic7a75c70f78014eb@mail.gmail.com> <20060108222542.S94313@yvyyl> <20060108225953.X94313@yvyyl> <13BEDF10-8A61-4CC0-BC1D-6BEE8130D931@yahoo.com> <20060109000620.N94313@yvyyl> <9EACDEA7-16D7-4B33-AD28-CD707E760AC2@yahoo.com> <20060109010214.F5773@yvyyl> Content-Type: multipart/alternative; boundary=Apple-Mail-30--420417504 Message-Id: From: David Jencks Subject: Re: deploying a resource adapter (fwd) Date: Mon, 9 Jan 2006 01:56:12 -0800 To: user@geronimo.apache.org X-Mailer: Apple Mail (2.746.2) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --Apple-Mail-30--420417504 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed >>> >>> I started looking into the daytrader app you mentioned. I think >>> I found its deployed instance in config-store/28, but it looks >>> like it bundles the activemq and tranql resource adapters under >>> the TradeDataSource and TradeJMS subdirectories, respectively. >>> Are you saying they don't need to be there, that they could be >>> referenced from the daytrader app somehow? >> >> They are added by the configuration building process, the >> simplification is that you don't need to include the rars in your >> ear yourself. We are thinking about a way to make it so deploying >> a j2ee artifact does not copy any of it into the configuration but >> refers to it in some form in the repository, but this will require >> at least a new classloader and perhaps unpacking the nested jars >> into a flat structure. > > I'm trying to get away from using JBoss because their software is > buggy and they're a pain in the ass, but their resource adapter > deployment and configuration is easier and more flexible than what > Geronimo currently offers. Aside from the issue of being able to > share a single rar among multiple applications, I can also deploy a > rar file to JBoss without any kind of JBoss-specific > configuration. (I understand said resource adapter is useless > without further configuration --- it's the principle that I don't > have to build multiple rar archives, one for each app server > implementation, that matters to me.) I think there's a communication problem here, but I'm not sure exactly what or where it is. I hope I can get you to explain what you mean in a way I can understand more easily. Unfortunately I don't remember all the details of how I wrote the jboss connector stuff, and they might have changed it somewhat in the last couple years, but... what do you mean by deploying a rar file without a plan? it seems to me that all that is possible is to get the classes into a classloader that can be referenced somehow. If you want a usable instance, you need a vendor plan and a reference to the ra.xml in the rar and some classloader with the classes in it. In geronimo, you do roughly the same thing. There are a couple ways to make the deployment happen, and which you choose depends a lot on whether you are trying to put together a special purpose server for your app or viewing geronimo as something you can't change and just want to deploy your app on. If you are trying to build a server or want to be able to distribute your deployed application, you should use the packaging plugin to build a configuration from the rar and your plan. (soon there will be a offline deployer to let you do this without needing maven). You can then assemble a server including the .car file generated. If you want to regard geronimo as immutable, you can use the online deployer, again with the rar file and your plan. I don't see the difference between putting the rar file in the maven repo or the geronimo repo (geronimo) or "deploying" it without a plan on jboss. If you build the car file, you will be able to include it in any geronimo server you want: it includes all its classes and is "predeployed". (the tool support for adding it to an existing server is not too good yet). I'm not familiar with Geronimo's deployment strategy, but it sounds like each deployment module gets its own classloader. Rather than copy dependencies, couldn't they be referenced via classloader delegation or a similar mechanism? We would like to come up with a way to avoid copying all the classes into a car file, but as I mentioned this will take some classloader tricks. However, I'm not sure how this affects a user. The copying is done by geronimo during deployment. As long as you only need to start with one copy of the rar, why do you care how many times geronimo copies it? thanks david jencks (looks like I confused the quoting in my mail program, sorry) --Apple-Mail-30--420417504 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=ISO-8859-1
<snip>

I started looking into the = daytrader app you mentioned.=A0 = I think I found its deployed instance in config-store/28, but it = looks like it bundles the activemq and tranql resource adapters under = the TradeDataSource and TradeJMS subdirectories, respectively.=A0 Are you saying they don't = need to be there, that they could be referenced from the daytrader app = somehow?
They are added by the = configuration building process, the simplification is that you don't = need to include the rars in your ear yourself.=A0 We are thinking about a way = to make it so deploying a j2ee artifact does not copy any of it into the = configuration but refers to it in some form in the repository, but this = will require at least a new classloader and perhaps unpacking the nested = jars into a flat structure.

I'm trying to = get away from using JBoss because their software is buggy and they're a = pain in the ass, but their resource adapter deployment and configuration = is easier and more flexible than what Geronimo currently offers.=A0 Aside from the issue of being = able to share a single rar among multiple applications, I can also = deploy a rar file to JBoss without any kind of JBoss-specific = configuration.=A0 (I = understand said resource adapter is useless without further = configuration --- it's the principle that I don't have to build multiple = rar archives, one for each app server implementation, that matters to = me.)

I think there's a = communication problem here, but I'm not sure exactly what or where it = is.=A0 I hope I can get you to explain what you mean in a way I can = understand more easily.=A0 Unfortunately I don't remember all the = details of how I wrote the jboss connector stuff, and they might have = changed it somewhat in the last couple years, but... what do you mean by = deploying a rar file without a plan?=A0 it seems to me that all that is = possible is to get the classes into a classloader that can be referenced = somehow.=A0 If you want a usable instance, you need a vendor plan and a = reference to the ra.xml in the rar and some classloader with the classes = in it.

In = geronimo, you do roughly the same thing.=A0 There are a couple ways to = make the deployment happen, and which you choose depends a lot on = whether you are trying to put together a special purpose server for your = app or viewing geronimo as something you can't change and just want to = deploy your app on.=A0 If you are trying to build a server or want to=A0 = be able to=A0 distribute your deployed application, you should use the = packaging plugin to build a configuration from the rar and your plan.=A0 = (soon there will be a offline deployer to let you do this without = needing maven).=A0 You can then assemble a server including the .car = file generated.=A0 If you want to regard geronimo as immutable, you can = use the online deployer, again with the rar file and your plan.=A0 I = don't see the difference between putting the rar file in the maven repo = or the geronimo repo (geronimo) or "deploying" it without a plan on = jboss.

If you = build the car file, you will be able to include it in any geronimo = server you want: it includes all its classes and is "predeployed".=A0 = (the tool support for adding it to an existing server is not too good = yet).


I'm not familiar with = Geronimo's deployment strategy, but it sounds like each deployment = module gets its own classloader.=A0 Rather than copy dependencies, = couldn't they be referenced via classloader delegation or a similar = mechanism?


We = would like to come up with a way to avoid copying all the classes into a = car file, but as I mentioned this will take some classloader tricks.=A0 = However, I'm not sure how this affects a user.=A0 The copying is done by = geronimo during deployment.=A0 As long as you only need to start with = one copy of the rar, why do you care how many times geronimo copies = it?

thanks
david = jencks

(looks like I confused the quoting in my mail program, = sorry)

<snip>
= --Apple-Mail-30--420417504--