RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-13 Thread marc fleury

|We have denied jBoss write privilidge to itself and only allow it to write
|where it needs to. It may be a bad idea to allow jBoss to modify its own
|jcml file (we have disabled the auto jcml feature) or to replace
|executable
|modules that comprise it.
|
|OTOH, it may not be such a bad idea for a seperate process to have
|privilidge to do this, since it would need only be invoked when
|its time to
|upgrade jBoss.
|
|Just my 2 cents...

my 39 cents (hey it's me!)

frankly we are bundling 4 concerns in one...

we need administration done right (auto.jcml is going away replaced by
something better).
we need remote installation of *code* and securing this.
we need local installation of sensitive data (the point by scott yesterday).
we need remote installation and admin of *applications* and securing this...

I will try to untangle the spaghetti plate as soon as I am done with the
website (which should hopefully be today), but for now we are miles and
miles away from even a clear understanding of the spectrum of requirements
and howwe go about prioritizing them (e.g. no we will not disable the remote
installation because some bank is not going to use it, that is design by
exception, but we will provide ways to do it locally as non-default etc
etc).

marcf

|
|Jim
|
|--On Tuesday, June 12, 2001 10:14 AM +0100 Mike Swainston-Rainford
|<[EMAIL PROTECTED]> wrote:
|
|>  From my experiences at security aware sites (like financial
|> institutions) I'd say that a file of the node specific properties is a
|> must. Port numbers have been mentioned but what about the DB user and
|> password?
|>
|> Access to these leaves the database wide open so they would often not
|> even be held in a file on the file system but typed in during a
|> deployment or startup. If they are put in a file then it lives only on
|> the node to which it applies protected under a secure user id that's used
|> solely for deployment of the application server.
|>
|> The DB user id and password are currently stored in JBoss.jcml. They
|> would need to be pulled out, as suggested for the port numbers, into a
|> separate properties file before the more paranoid sites I've worked at
|> would consider deploying JBoss.
|>
|> Mike S-R
|>
|> At 00:05 12/06/2001 -0700, you wrote:
|>> We can argue the details, but I agree with Peter about the current
|>> configuration
|>> being very difficult to manage. If we are going to move to a web based
|>> deployment
|>> to multiple boxes we won't be able to simply rely on URLClassLoaders
|>> pulling down the current config files and expect them to work as many
|>> configuration parameters will be specific to box on which the server is
|>> being installed.
|>>
|>> - Original Message -
|>> From: "Peter Antman" <[EMAIL PROTECTED]>
|>> To: <[EMAIL PROTECTED]>
|>> Sent: Monday, June 11, 2001 11:30 PM
|>> Subject: Re: [JBoss-dev] JMSContainerInvoker.java
|>>
|>>
|>> > On 11 Jun, marc fleury wrote:
|>> > > what I am hearing is that you want jbossmq/jboss/servlet
|>> > > configuration in xml snippets in jboss.jcml, otherwise I don't see
|>> > > what it brings
|>> except yet
|>> > > another layer of indirection...
|>> >
|>> >
|>> > I guess it depends on you requirements. Mine is that I must be able to
|>> > support a lot of installations of JBoss on machines I do not have
|>> > complete controll over, such as ports, multihomed and such things.
|>> >
|>> > My experience from working with JBoss for almost a year now
|is that the
|>> > configuration files changes a lot al the time, and it is quite hard to
|>> > diff all these files all the time when a new release arrives,
|or when I
|>> > have to go cutting cvs edge ;-).
|>> >
|>> > It is much easier to have one central property files wich controlles
|>> > all those environment stuff (much like a preprocessor), just try to
|>> > diff standardjboss.xml with all those hardcoded
|>> > !
|>> >
|>>
|>>
|>>
|>> ___
|>> Jboss-development mailing list
|>> [EMAIL PROTECTED]
|>> http://lists.sourceforge.net/lists/listinfo/jboss-development
|>
|>
|> ___
|> Jboss-development mailing list
|> [EMAIL PROTECTED]
|> http://lists.sourceforge.net/lists/listinfo/jboss-development
|
|
|
|
|I shall be telling this with a sigh
|Somewhere ages and ages hence:
|Two roads diverged in a wood, and I -
|I took the one less traveled by,
|And that has made all the difference.
|
|- Robert Frost, 1916
|
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-development



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-12 Thread Jim Archer

On the topic of security, most *nix installations, including Linux, deny an 
application the ability to write to itself or its tree. This is to prevent 
a discovered exploit from modifying the applications code and causing it do 
do whatever the hacker wants (crash, access stuff it shouldent,...).

We have denied jBoss write privilidge to itself and only allow it to write 
where it needs to. It may be a bad idea to allow jBoss to modify its own 
jcml file (we have disabled the auto jcml feature) or to replace executable 
modules that comprise it.

OTOH, it may not be such a bad idea for a seperate process to have 
privilidge to do this, since it would need only be invoked when its time to 
upgrade jBoss.

Just my 2 cents...

Jim

--On Tuesday, June 12, 2001 10:14 AM +0100 Mike Swainston-Rainford 
<[EMAIL PROTECTED]> wrote:

>  From my experiences at security aware sites (like financial
> institutions) I'd say that a file of the node specific properties is a
> must. Port numbers have been mentioned but what about the DB user and
> password?
>
> Access to these leaves the database wide open so they would often not
> even be held in a file on the file system but typed in during a
> deployment or startup. If they are put in a file then it lives only on
> the node to which it applies protected under a secure user id that's used
> solely for deployment of the application server.
>
> The DB user id and password are currently stored in JBoss.jcml. They
> would need to be pulled out, as suggested for the port numbers, into a
> separate properties file before the more paranoid sites I've worked at
> would consider deploying JBoss.
>
> Mike S-R
>
> At 00:05 12/06/2001 -0700, you wrote:
>> We can argue the details, but I agree with Peter about the current
>> configuration
>> being very difficult to manage. If we are going to move to a web based
>> deployment
>> to multiple boxes we won't be able to simply rely on URLClassLoaders
>> pulling down the current config files and expect them to work as many
>> configuration parameters will be specific to box on which the server is
>> being installed.
>>
>> - Original Message -----
>> From: "Peter Antman" <[EMAIL PROTECTED]>
>> To: <[EMAIL PROTECTED]>
>> Sent: Monday, June 11, 2001 11:30 PM
>> Subject: Re: [JBoss-dev] JMSContainerInvoker.java
>>
>>
>> > On 11 Jun, marc fleury wrote:
>> > > what I am hearing is that you want jbossmq/jboss/servlet
>> > > configuration in xml snippets in jboss.jcml, otherwise I don't see
>> > > what it brings
>> except yet
>> > > another layer of indirection...
>> >
>> >
>> > I guess it depends on you requirements. Mine is that I must be able to
>> > support a lot of installations of JBoss on machines I do not have
>> > complete controll over, such as ports, multihomed and such things.
>> >
>> > My experience from working with JBoss for almost a year now is that the
>> > configuration files changes a lot al the time, and it is quite hard to
>> > diff all these files all the time when a new release arrives, or when I
>> > have to go cutting cvs edge ;-).
>> >
>> > It is much easier to have one central property files wich controlles
>> > all those environment stuff (much like a preprocessor), just try to
>> > diff standardjboss.xml with all those hardcoded
>> > !
>> >
>>
>>
>>
>> ___
>> Jboss-development mailing list
>> [EMAIL PROTECTED]
>> http://lists.sourceforge.net/lists/listinfo/jboss-development
>
>
> ___
> Jboss-development mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/jboss-development




I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I -
I took the one less traveled by,
And that has made all the difference.

- Robert Frost, 1916


___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-12 Thread Mike Swainston-Rainford

 From my experiences at security aware sites (like financial institutions) 
I'd say that a file of the node specific properties is a must. Port numbers 
have been mentioned but what about the DB user and password?

Access to these leaves the database wide open so they would often not even 
be held in a file on the file system but typed in during a deployment or 
startup. If they are put in a file then it lives only on the node to which 
it applies protected under a secure user id that's used solely for 
deployment of the application server.

The DB user id and password are currently stored in JBoss.jcml. They would 
need to be pulled out, as suggested for the port numbers, into a separate 
properties file before the more paranoid sites I've worked at would 
consider deploying JBoss.

Mike S-R

At 00:05 12/06/2001 -0700, you wrote:
>We can argue the details, but I agree with Peter about the current 
>configuration
>being very difficult to manage. If we are going to move to a web based 
>deployment
>to multiple boxes we won't be able to simply rely on URLClassLoaders pulling
>down the current config files and expect them to work as many configuration
>parameters will be specific to box on which the server is being installed.
>
>- Original Message -
>From: "Peter Antman" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Monday, June 11, 2001 11:30 PM
>Subject: Re: [JBoss-dev] JMSContainerInvoker.java
>
>
> > On 11 Jun, marc fleury wrote:
> > > what I am hearing is that you want jbossmq/jboss/servlet configuration in
> > > xml snippets in jboss.jcml, otherwise I don't see what it brings 
> except yet
> > > another layer of indirection...
> >
> >
> > I guess it depends on you requirements. Mine is that I must be able to
> > support a lot of installations of JBoss on machines I do not have
> > complete controll over, such as ports, multihomed and such things.
> >
> > My experience from working with JBoss for almost a year now is that the
> > configuration files changes a lot al the time, and it is quite hard to
> > diff all these files all the time when a new release arrives, or when I
> > have to go cutting cvs edge ;-).
> >
> > It is much easier to have one central property files wich controlles all
> > those environment stuff (much like a preprocessor), just try to diff
> > standardjboss.xml with all those hardcoded
> > !
> >
>
>
>
>___
>Jboss-development mailing list
>[EMAIL PROTECTED]
>http://lists.sourceforge.net/lists/listinfo/jboss-development


___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-11 Thread Scott M Stark

We can argue the details, but I agree with Peter about the current configuration
being very difficult to manage. If we are going to move to a web based deployment
to multiple boxes we won't be able to simply rely on URLClassLoaders pulling
down the current config files and expect them to work as many configuration
parameters will be specific to box on which the server is being installed.

- Original Message - 
From: "Peter Antman" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, June 11, 2001 11:30 PM
Subject: Re: [JBoss-dev] JMSContainerInvoker.java


> On 11 Jun, marc fleury wrote:
> > what I am hearing is that you want jbossmq/jboss/servlet configuration in
> > xml snippets in jboss.jcml, otherwise I don't see what it brings except yet
> > another layer of indirection...
> 
> 
> I guess it depends on you requirements. Mine is that I must be able to
> support a lot of installations of JBoss on machines I do not have
> complete controll over, such as ports, multihomed and such things.
> 
> My experience from working with JBoss for almost a year now is that the
> configuration files changes a lot al the time, and it is quite hard to
> diff all these files all the time when a new release arrives, or when I
> have to go cutting cvs edge ;-).
> 
> It is much easier to have one central property files wich controlles all
> those environment stuff (much like a preprocessor), just try to diff
> standardjboss.xml with all those hardcoded
> !
> 



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-11 Thread Peter Antman

On 11 Jun, marc fleury wrote:
> what I am hearing is that you want jbossmq/jboss/servlet configuration in
> xml snippets in jboss.jcml, otherwise I don't see what it brings except yet
> another layer of indirection...


I guess it depends on you requirements. Mine is that I must be able to
support a lot of installations of JBoss on machines I do not have
complete controll over, such as ports, multihomed and such things.

My experience from working with JBoss for almost a year now is that the
configuration files changes a lot al the time, and it is quite hard to
diff all these files all the time when a new release arrives, or when I
have to go cutting cvs edge ;-).

It is much easier to have one central property files wich controlles all
those environment stuff (much like a preprocessor), just try to diff
standardjboss.xml with all those hardcoded
!

A local installation is therefore goverend by a template repository
(configuration files and a template propertyfile, where all environment
stuff is gathered). Here is my default for a vanilla JBoss installation.

# Default filter porperties for JBoss
java.rmi.server.hostname=#java.rmi.server.hostname=localhost
java.rmi.server.codebase=#java.rmi.server.codebase=http://localhost:8080/
java.naming.provider.url=#java.naming.provider.url=localhost:1099
jnp.port=1099
java.Xms=-Xms6m
java.Xmx=-Xmx128m
rmi.port=1099
rmi.object.port=
webservice.port=8083
hypersonic.port=1476
htmladapter.port=8082
topics=logging
queues= 
mail.user=pra
mail.smtp.host=dagobert.annons.dn.se
[EMAIL PROTECTED]
# Tomcat Stuff
tomcat.http.port=8080
tomcat.Ajp12.port=8007

I need a customized install? I create a new template file and does

sh build.sh -Dtemplate.properties=alternative.file install

Say I have 10 installs with different configuratins. When I uppgrade
JBoss I do a check between the files in the template repository and
upgrade all changed configuration files. Then I just do an re install on
all machines with the local property file.

This was the best I could come up with to make installation and
upgrading of JBoss as smoth as possible.

Maybe its not the best there is, but it shure works better than without
it.

//Peter
ps
I actually think this would be great to have built in to JBoss, so that
all machine dependant parameters where configurable through a
preprosessor when installing JBoss, but that my 2c.
ds

> 
> marc
> 
> |-Original Message-
> |From: [EMAIL PROTECTED]
> |[mailto:[EMAIL PROTECTED]]On Behalf Of Peter
> |Antman
> |Sent: Monday, June 11, 2001 3:02 AM
> |To: [EMAIL PROTECTED]
> |Subject: Re: [JBoss-dev] JMSContainerInvoker.java
> |
> |
> |On 10 Jun, marc fleury wrote:
> |> |I do like simplicity of management (that why I redo every JBoss
> |> |distribution so I can configure it with a single property file - Ant,
> |> |copy and filter).
> |>
> |> what do you mean, what do you redo?
> |
> |Short example:
> |
> |>From jboss.jcml:
> |
> |   |name="DefaultDomain:service=Naming">
> |@rmi.port@
> |  
> |   |name="DefaultDomain:service=JNDIView" />
> |
> |You see the @rmi.port@
> |
> |In a propertyfile, for example default.properties ;-)
> |
> |rmi.port=1099
> |
> |
> |Some stuff in build.xml:
> |
> | |value="${jboss.dir.templates}/default.properties"/>
> |
> |This may be reset dynamicaly with -Dtemplates.properties to use other
> |values for an installation.
> |
> |Turn on filtering while copying:
> |
> | 
> |  |todir="${install.dir}/server/conf/tomcat/">
> | |
> |includes="jboss.properties,jboss.conf,jboss.jcml,jndi.properties,lo
> |g4j.properties,jnp.properties,standardjboss.xml,jbossmq.xml,alertMa
> |il.properties"
> | dir="${jboss.dir.templates}"
> |/>
> |
> |  
> |
> |
> |Makes it a snapp to install differently configured JBoss servers, just
> |write a new property file to make your installment from.
> |
> |I particulary like this in jbossmq.xml:
> |
> |bob
> |@topics@
> |
> |This is where I drive my destination configurations ;-)
> |
> |
> |>
> |> |
> |> |# Here some code
> |> |
> |> |set_my_variable(11);
> |> |print get_my_variable;
> |> |
> |> |What do you think one will get, yes 1. Do you get any warnings? NO. Is
> |> |it hard to debug? Oh, yes. Verry hard.
> |> |
> |> |I think automatic creation of destinations for MDB suffers the same of
> |> |problems.
> |>
> |> geez you guys are all banging on this feature... you know what?
> |>
> |> two peas in a bucket
> |>
> |> f*ck it! (as my father in law will say (deep south))...
> |>
> |> we will see if people complain
> |
> |Calm down ;-)
> |

RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-11 Thread marc fleury

what I am hearing is that you want jbossmq/jboss/servlet configuration in
xml snippets in jboss.jcml, otherwise I don't see what it brings except yet
another layer of indirection...

marc

|-Original Message-
|From: [EMAIL PROTECTED]
|[mailto:[EMAIL PROTECTED]]On Behalf Of Peter
|Antman
|Sent: Monday, June 11, 2001 3:02 AM
|To: [EMAIL PROTECTED]
|Subject: Re: [JBoss-dev] JMSContainerInvoker.java
|
|
|On 10 Jun, marc fleury wrote:
|> |I do like simplicity of management (that why I redo every JBoss
|> |distribution so I can configure it with a single property file - Ant,
|> |copy and filter).
|>
|> what do you mean, what do you redo?
|
|Short example:
|
|>From jboss.jcml:
|
|  
|@rmi.port@
|  
|  
|
|You see the @rmi.port@
|
|In a propertyfile, for example default.properties ;-)
|
|rmi.port=1099
|
|
|Some stuff in build.xml:
|
|
|
|This may be reset dynamicaly with -Dtemplates.properties to use other
|values for an installation.
|
|Turn on filtering while copying:
|
| 
| 
|
|
|  
|
|
|Makes it a snapp to install differently configured JBoss servers, just
|write a new property file to make your installment from.
|
|I particulary like this in jbossmq.xml:
|
|bob
|@topics@
|
|This is where I drive my destination configurations ;-)
|
|
|>
|> |
|> |# Here some code
|> |
|> |set_my_variable(11);
|> |print get_my_variable;
|> |
|> |What do you think one will get, yes 1. Do you get any warnings? NO. Is
|> |it hard to debug? Oh, yes. Verry hard.
|> |
|> |I think automatic creation of destinations for MDB suffers the same of
|> |problems.
|>
|> geez you guys are all banging on this feature... you know what?
|>
|> two peas in a bucket
|>
|> f*ck it! (as my father in law will say (deep south))...
|>
|> we will see if people complain
|
|Calm down ;-)
|
|>
|> |What happens when a created destination is suddenly destroyed when the
|> |MDB is undeployed (perhaps for a redeploy because of code change)? Well,
|> |all publisher to that destination will bark and be gone (if they was not
|> |coded to be failsafe). Suddenly we do not have a loosly coupled system
|> |any more, but the destination becomes just another remote interface
|> |against the bean (answer: use stateless sessions instead of MDB).
|>
|> uh tell me how is that related to the fact that we create it at
|> deployment time? if you remove a destination (period) then all
|clients will
|> be barking... if not then create a "durable topic" in the right
|JMS stuff...
|> we are not out to solve the world problems, if you want  a durable topic
|> then you need to tell us.  I still stick to my guns (and I could
|be wrong)
|>
|> |Ok,ok,ok. The only (I say only) acceptable thing a can think of is that
|> |it *might* be OK if the jboss.xml is completly missing. Then we might do
|> |somethink like automatic creation, *but only then*.
|>
|> ah... look at me in the eye... yes I do see that gleam in the
|corner of your
|> eye... you still see it don't you? yeah..ease of use for management, the
|> "dirty step child" of J2EE we are squarely competing at the low end with
|> very high end features for management... yeah you know it! yeah that
|> gleam...
|
|He, he. But see further down too. Should it really be in
|JMSContainerInvoker. One thing thats bothers me is that there are
|several indications on that JBossMQ is actually not that production
|ready. It behaves eratic during heavy load (messages are lost, and it is
|VERRY slow), there are some creapy buggs in the management of durable
|topic subscription, a server may dissapear without the clients ever
|getting to know it, and probably much more.
|
|Hiram has done a fantastic jobb, but he does not seem to have that much
|time any longer, and no one else has really showed up to take over or
|work with the hard parts beside him.
|
|I know there are some potential guys in there, that could probably solve
|this stuff.
|
|But until that has happened it is probably wise to have an
|implementation of MDB that is possible to use with another JMS provider.
|
|Or, Marc, try to inspire some of the wise guys on this list to take on
|JBossMQ. It would actually be good if there where more than one
|developer active with JBossMQ at a time.
|
|
|//Peter
|>
|> (drunk)
|>
|> marcf
|> |
|> |2. Is it a good think to implement it in JMSContainerInvoker?
|> |
|> |Well, maybe not. The container invoker is designed to be agnostic about
|> |the underlying JMS provider. All its ways to communicate with the JMS
|> |provider is done through indirection and interfaces. If this is placed
|> |in JMSContainerInvoker it should not be dependand on any special JBossMQ
|> |features, such as being able to create destinations on the fly through
|> |JMX. Or perhaps to be more correct, if this is done, is must be a part
|>

Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-11 Thread Peter Antman
e time indepenent processing "feature" JMS usually gives
> |> you.  If you are creating and destroying a destination, the publisher
> |> becomes time dependent on when the bean is deployed (does this
> |make sense?).
> |>
> |> Regards,
> |> Hiram
> |>
> |>
> |> - Original Message -
> |> From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
> |> To: <[EMAIL PROTECTED]>
> |> Sent: Friday, June 01, 2001 6:34 PM
> |> Subject: RE: [JBoss-dev] JMSContainerInvoker.java
> |>
> |> j
> |>>
> |>>
> |>> On Fri, 1 Jun 2001, marc fleury wrote:
> |>> > to clear fuck-ups... yet if you screw up it doesn't hide the mistake,
> |> your
> |>> > application won't work.
> |>>
> |>> yes... but I want to know exactly *WHY* it doesn't work :)
> |>>
> |>> > |I'd much rather see the lookup fail than have the server hide my fuck
> |> ups.
> |>> > |Because that very clearly indicates something's wrong in the
> |>> > |configuration.
> |>> >
> |>> > and by doing so you prevent those that didn't fuck up from having a
> |>> > convenient feature. Design by exception.
> |>>
> |>> hey, I just like my errors pointed out to me in a clear and unambiguous
> |>> matter. It's because I make lots of them and have rarely fun time trying
> |>> to find them... :P
> |>>
> |>>
> |>> > |The proposed implementation requires me to go clean up the
> |jbossmq.xml
> |>> > |unless I like to have the naming space cluttered with stuff
> |that wasn't
> |>> > |supposed to go there. It also allows the application to
> |silently fail,
> |> as
> |>> > |Peter pointed out.
> |>> >
> |>> > Please read my mails, point 7.
> |>>
> |>> you make too many, and they're repetitive and become boring :)
> |>>
> |>>
> |>> > Also, I don't see the "silently" point, if you don't have the
> |right name
> |> you
> |>> > get 2 things from us
> |>> > 1- A "Creating topic"
> |>> > 2- An exception in your application
> |>>
> |>> I mean, where I create a MDB and lookup 'bob' which isnt right
> |>> or configured and the server then creates it, and then have a client
> |>> that *correctly* looks up 'Bob' which was probably configured
> |by some guy
> |>> three years ago. Everyone's happy, except I'm tearing
> |>> my hair out wondering why the fuck my messages arent getting through.
> |>>
> |>> See it?
> |>>
> |>> half my components talk to 'bob', the other half talks to 'Bob' and
> |>> everyone refuses to talk to the other party.
> |>>
> |>> As long as its painfully obvious that the server is trying to be smart
> |>> even in cases where it shouldnt, where it was my fault, its ok
> |by me. And
> |>> if it does destroy the topic so that I don't end up with bob,
> |Bob, BoB and
> |>> BOB in my config, then I can live with it.
> |>>
> |>> -- Juha
> |>>
> |>>
> |>>
> |>> ___
> |>> Jboss-development mailing list
> |>> [EMAIL PROTECTED]
> |>> http://lists.sourceforge.net/lists/listinfo/jboss-development
> |>>
> |>
> |> ___
> |> Jboss-development mailing list
> |> [EMAIL PROTECTED]
> |> http://lists.sourceforge.net/lists/listinfo/jboss-development
> |
> |--
> |
> |Peter Antman Technology in Media, Box 34105 100 26 Stockholm
> |Systems ArchitectWWW: http://www.tim.se
> |Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
> |Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942
> |
> |
> |
> |___
> |Jboss-development mailing list
> |[EMAIL PROTECTED]
> |http://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 
> 
> ___
> Jboss-development mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/jboss-development

-- 
Jobba hos oss: http://www.tim.se/weblab

Peter Antman Technology in Media, Box 34105 100 26 Stockholm
Systems ArchitectWWW: http://www.tim.se
Email: [EMAIL PROTECTED]WWW: http://www.backsource.org
Phone: +46-(0)8-506 381 11 Mobile: 070-675 3942 



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-10 Thread marc fleury

|I do like simplicity of management (that why I redo every JBoss
|distribution so I can configure it with a single property file - Ant,
|copy and filter).

what do you mean, what do you redo?

|
|# Here some code
|
|set_my_variable(11);
|print get_my_variable;
|
|What do you think one will get, yes 1. Do you get any warnings? NO. Is
|it hard to debug? Oh, yes. Verry hard.
|
|I think automatic creation of destinations for MDB suffers the same of
|problems.

geez you guys are all banging on this feature... you know what?

two peas in a bucket

f*ck it! (as my father in law will say (deep south))...

we will see if people complain

|What happens when a created destination is suddenly destroyed when the
|MDB is undeployed (perhaps for a redeploy because of code change)? Well,
|all publisher to that destination will bark and be gone (if they was not
|coded to be failsafe). Suddenly we do not have a loosly coupled system
|any more, but the destination becomes just another remote interface
|against the bean (answer: use stateless sessions instead of MDB).

uh tell me how is that related to the fact that we create it at
deployment time? if you remove a destination (period) then all clients will
be barking... if not then create a "durable topic" in the right JMS stuff...
we are not out to solve the world problems, if you want  a durable topic
then you need to tell us.  I still stick to my guns (and I could be wrong)

|Ok,ok,ok. The only (I say only) acceptable thing a can think of is that
|it *might* be OK if the jboss.xml is completly missing. Then we might do
|somethink like automatic creation, *but only then*.

ah... look at me in the eye... yes I do see that gleam in the corner of your
eye... you still see it don't you? yeah..ease of use for management, the
"dirty step child" of J2EE we are squarely competing at the low end with
very high end features for management... yeah you know it! yeah that
gleam...

(drunk)

marcf
|
|2. Is it a good think to implement it in JMSContainerInvoker?
|
|Well, maybe not. The container invoker is designed to be agnostic about
|the underlying JMS provider. All its ways to communicate with the JMS
|provider is done through indirection and interfaces. If this is placed
|in JMSContainerInvoker it should not be dependand on any special JBossMQ
|features, such as being able to create destinations on the fly through
|JMX. Or perhaps to be more correct, if this is done, is must be a part
|of the org.jboss.jms package that a JMX based destination creator is
|part of the JMSContainerInvoker contact.
|
|Was that clear, or am I just babling around?
|
|Chers
|Peter
|
|
|On  1 Jun, Hiram Chirino wrote:
|> My vote on the issue is turn the feature OFF by default.
|>
|> A JMS queue is like a database table:  I don't want the thing getting
|> created and destroyed every time I deploy and undeploy a bean.  This is
|> mainly doe to the time indepenent processing "feature" JMS usually gives
|> you.  If you are creating and destroying a destination, the publisher
|> becomes time dependent on when the bean is deployed (does this
|make sense?).
|>
|> Regards,
|> Hiram
|>
|>
|> - Original Message -
|> From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
|> To: <[EMAIL PROTECTED]>
|> Sent: Friday, June 01, 2001 6:34 PM
|> Subject: RE: [JBoss-dev] JMSContainerInvoker.java
|>
|> j
|>>
|>>
|>> On Fri, 1 Jun 2001, marc fleury wrote:
|>> > to clear fuck-ups... yet if you screw up it doesn't hide the mistake,
|> your
|>> > application won't work.
|>>
|>> yes... but I want to know exactly *WHY* it doesn't work :)
|>>
|>> > |I'd much rather see the lookup fail than have the server hide my fuck
|> ups.
|>> > |Because that very clearly indicates something's wrong in the
|>> > |configuration.
|>> >
|>> > and by doing so you prevent those that didn't fuck up from having a
|>> > convenient feature. Design by exception.
|>>
|>> hey, I just like my errors pointed out to me in a clear and unambiguous
|>> matter. It's because I make lots of them and have rarely fun time trying
|>> to find them... :P
|>>
|>>
|>> > |The proposed implementation requires me to go clean up the
|jbossmq.xml
|>> > |unless I like to have the naming space cluttered with stuff
|that wasn't
|>> > |supposed to go there. It also allows the application to
|silently fail,
|> as
|>> > |Peter pointed out.
|>> >
|>> > Please read my mails, point 7.
|>>
|>> you make too many, and they're repetitive and become boring :)
|>>
|>>
|>> > Also, I don't see the "silently" point, if you don't have the
|right name
|> you
|>> > 

Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-04 Thread pra

Hi,
sorry I misses all the fun (we have had one of our christian hollidays,
and I have been banging nails into my summer cottage ;.)).

Let first state a simple fact. We should actually disuss two things:

1. Is it a good feature to have automatic creation of destinations for
   MDB when JNDI lookup fails for a given topic?

2. If we should want that, where and how should it be implemented?

1.

I do like simplicity of management (that why I redo every JBoss
distribution so I can configure it with a single property file - Ant,
copy and filter). 

But I do also want my languages and systems to have a design that helps
in development and deployment. I once was quite a good perl programmer,
and I think I did know the language quite well with all its added "my"
and "use strict" to sort of compensate for the early bad language
designs that where made. 

Perl is what we could call a loosly coupled language/system. Lets look
at a *verry common error".


$my_variable;
$MY_DEFAULT = 1;

sub get_my_variable {
return $my_variable ||  $MY_DEFAULT;
}

sub set_my_variable {
$my_valiable = shift;
}

# Here some code

set_my_variable(11);
print get_my_variable;

What do you think one will get, yes 1. Do you get any warnings? NO. Is
it hard to debug? Oh, yes. Verry hard. 

I think automatic creation of destinations for MDB suffers the same of
problems.

Here is another one for the book!

What happens when a created destination is suddenly destroyed when the
MDB is undeployed (perhaps for a redeploy because of code change)? Well,
all publisher to that destination will bark and be gone (if they was not
coded to be failsafe). Suddenly we do not have a loosly coupled system
any more, but the destination becomes just another remote interface
against the bean (answer: use stateless sessions instead of MDB).

Ok,ok,ok. The only (I say only) acceptable thing a can think of is that
it *might* be OK if the jboss.xml is completly missing. Then we might do
somethink like automatic creation, *but only then*.

2. Is it a good think to implement it in JMSContainerInvoker?

Well, maybe not. The container invoker is designed to be agnostic about
the underlying JMS provider. All its ways to communicate with the JMS
provider is done through indirection and interfaces. If this is placed
in JMSContainerInvoker it should not be dependand on any special JBossMQ
features, such as being able to create destinations on the fly through
JMX. Or perhaps to be more correct, if this is done, is must be a part
of the org.jboss.jms package that a JMX based destination creator is
part of the JMSContainerInvoker contact.

Was that clear, or am I just babling around?

Chers
Peter


On  1 Jun, Hiram Chirino wrote:
> My vote on the issue is turn the feature OFF by default.
> 
> A JMS queue is like a database table:  I don't want the thing getting
> created and destroyed every time I deploy and undeploy a bean.  This is
> mainly doe to the time indepenent processing "feature" JMS usually gives
> you.  If you are creating and destroying a destination, the publisher
> becomes time dependent on when the bean is deployed (does this make sense?).
> 
> Regards,
> Hiram
> 
> 
> - Original Message -
> From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, June 01, 2001 6:34 PM
> Subject: RE: [JBoss-dev] JMSContainerInvoker.java
> 
> j
>>
>>
>> On Fri, 1 Jun 2001, marc fleury wrote:
>> > to clear fuck-ups... yet if you screw up it doesn't hide the mistake,
> your
>> > application won't work.
>>
>> yes... but I want to know exactly *WHY* it doesn't work :)
>>
>> > |I'd much rather see the lookup fail than have the server hide my fuck
> ups.
>> > |Because that very clearly indicates something's wrong in the
>> > |configuration.
>> >
>> > and by doing so you prevent those that didn't fuck up from having a
>> > convenient feature. Design by exception.
>>
>> hey, I just like my errors pointed out to me in a clear and unambiguous
>> matter. It's because I make lots of them and have rarely fun time trying
>> to find them... :P
>>
>>
>> > |The proposed implementation requires me to go clean up the jbossmq.xml
>> > |unless I like to have the naming space cluttered with stuff that wasn't
>> > |supposed to go there. It also allows the application to silently fail,
> as
>> > |Peter pointed out.
>> >
>> > Please read my mails, point 7.
>>
>> you make too many, and they're repetitive and become boring :)
>>
>>
>> > Also, I don't see the "silently" point, if you don't have the right name
> you
>> >

Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Hiram Chirino

My vote on the issue is turn the feature OFF by default.

A JMS queue is like a database table:  I don't want the thing getting
created and destroyed every time I deploy and undeploy a bean.  This is
mainly doe to the time indepenent processing "feature" JMS usually gives
you.  If you are creating and destroying a destination, the publisher
becomes time dependent on when the bean is deployed (does this make sense?).

Regards,
Hiram


- Original Message -
From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 01, 2001 6:34 PM
Subject: RE: [JBoss-dev] JMSContainerInvoker.java


>
>
> On Fri, 1 Jun 2001, marc fleury wrote:
> > to clear fuck-ups... yet if you screw up it doesn't hide the mistake,
your
> > application won't work.
>
> yes... but I want to know exactly *WHY* it doesn't work :)
>
> > |I'd much rather see the lookup fail than have the server hide my fuck
ups.
> > |Because that very clearly indicates something's wrong in the
> > |configuration.
> >
> > and by doing so you prevent those that didn't fuck up from having a
> > convenient feature. Design by exception.
>
> hey, I just like my errors pointed out to me in a clear and unambiguous
> matter. It's because I make lots of them and have rarely fun time trying
> to find them... :P
>
>
> > |The proposed implementation requires me to go clean up the jbossmq.xml
> > |unless I like to have the naming space cluttered with stuff that wasn't
> > |supposed to go there. It also allows the application to silently fail,
as
> > |Peter pointed out.
> >
> > Please read my mails, point 7.
>
> you make too many, and they're repetitive and become boring :)
>
>
> > Also, I don't see the "silently" point, if you don't have the right name
you
> > get 2 things from us
> > 1- A "Creating topic"
> > 2- An exception in your application
>
> I mean, where I create a MDB and lookup 'bob' which isnt right
> or configured and the server then creates it, and then have a client
> that *correctly* looks up 'Bob' which was probably configured by some guy
> three years ago. Everyone's happy, except I'm tearing
> my hair out wondering why the fuck my messages arent getting through.
>
> See it?
>
> half my components talk to 'bob', the other half talks to 'Bob' and
> everyone refuses to talk to the other party.
>
> As long as its painfully obvious that the server is trying to be smart
> even in cases where it shouldnt, where it was my fault, its ok by me. And
> if it does destroy the topic so that I don't end up with bob, Bob, BoB and
> BOB in my config, then I can live with it.
>
> -- Juha
>
>
>
> ___
> Jboss-development mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/jboss-development
>

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread marc fleury

|you make too many, and they're repetitive and become boring :)

repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha
repetition works, Juha

and watch your language young lady...

|I mean, where I create a MDB and lookup 'bob' which isnt right
|or configured and the server then creates it, and then have a client
|that *correctly* looks up 'Bob' which was probably configured by some guy
|three years ago. Everyone's happy, except I'm tearing
|my hair out wondering why the fuck my messages arent getting through.
|
|See it?

no that is *really* splitting hairs on a funky exception... ease of use.

|As long as its painfully obvious that the server is trying to be smart
|even in cases where it shouldnt, where it was my fault, its ok by me. And
|if it does destroy the topic so that I don't end up with bob, Bob, BoB and
|BOB in my config, then I can live with it.

sure

let doug code the point you and I made about undeployment and destroying the
topic (the point 7 I keep repeating :) and let's move on...

marcf
peace



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Juha-P Lindfors



On Fri, 1 Jun 2001, marc fleury wrote:
> to clear fuck-ups... yet if you screw up it doesn't hide the mistake, your
> application won't work.

yes... but I want to know exactly *WHY* it doesn't work :)

> |I'd much rather see the lookup fail than have the server hide my fuck ups.
> |Because that very clearly indicates something's wrong in the
> |configuration.
>
> and by doing so you prevent those that didn't fuck up from having a
> convenient feature. Design by exception.

hey, I just like my errors pointed out to me in a clear and unambiguous
matter. It's because I make lots of them and have rarely fun time trying
to find them... :P


> |The proposed implementation requires me to go clean up the jbossmq.xml
> |unless I like to have the naming space cluttered with stuff that wasn't
> |supposed to go there. It also allows the application to silently fail, as
> |Peter pointed out.
>
> Please read my mails, point 7.

you make too many, and they're repetitive and become boring :)


> Also, I don't see the "silently" point, if you don't have the right name you
> get 2 things from us
> 1- A "Creating topic"
> 2- An exception in your application

I mean, where I create a MDB and lookup 'bob' which isnt right
or configured and the server then creates it, and then have a client
that *correctly* looks up 'Bob' which was probably configured by some guy
three years ago. Everyone's happy, except I'm tearing
my hair out wondering why the fuck my messages arent getting through.

See it?

half my components talk to 'bob', the other half talks to 'Bob' and
everyone refuses to talk to the other party.

As long as its painfully obvious that the server is trying to be smart
even in cases where it shouldnt, where it was my fault, its ok by me. And
if it does destroy the topic so that I don't end up with bob, Bob, BoB and
BOB in my config, then I can live with it.

-- Juha



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Ferguson, Doug

I need to add the code to remove the queue ad undeploy.

I can also make the message really huge when creating a new topic/queue.

Is there anything else I should do while I got the patient open?

d.

-Original Message-
From: marc fleury [mailto:[EMAIL PROTECTED]]
Sent: Friday, June 01, 2001 5:02 PM
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] JMSContainerInvoker.java


|It will be trial to remove the topic/queue at undeployment,
|if and only if I added it at deploy time

Which is exactly what I am arguing for, glad to see it already coded.  If no
topic, create and destroy at deployment boundaries.  This enables the "I
listen to the topic as an MDB the server creates and destroys the topic for
me"...

|This way the config file won't "build up"...

precisely ...

|We already display a message at deploytime that says that
|the queue/topic doesn't exist. So it isn't really correct
|that the server hides your fuck ups. It merely deals with them
|in an itelligent fashion.

well I wouldn't go that far, Doug :)

we *don't* deal with a fuck up, we provide a useful feature for people that
*don't* fuck-up.  Their point is that we make life much harder for those
that *do* fuck up... I am sure I don't agree

I believe the point of contention with Juha and Peter is really around the
"I want to know that I fucked up *early on*".  My point is really centered
around "OK but let's try to not penalize those who don't fuck up".  The real
solution is the message you display and maybe a warning in the verifier on
the server saying that the topic doesn't exist.  Juha what do you think?

marcf

That is our story and we stick by it!
-- Bill Clinton's Mother --



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread marc fleury

|It will be trial to remove the topic/queue at undeployment,
|if and only if I added it at deploy time

Which is exactly what I am arguing for, glad to see it already coded.  If no
topic, create and destroy at deployment boundaries.  This enables the "I
listen to the topic as an MDB the server creates and destroys the topic for
me"...

|This way the config file won't "build up"...

precisely ...

|We already display a message at deploytime that says that
|the queue/topic doesn't exist. So it isn't really correct
|that the server hides your fuck ups. It merely deals with them
|in an itelligent fashion.

well I wouldn't go that far, Doug :)

we *don't* deal with a fuck up, we provide a useful feature for people that
*don't* fuck-up.  Their point is that we make life much harder for those
that *do* fuck up... I am sure I don't agree

I believe the point of contention with Juha and Peter is really around the
"I want to know that I fucked up *early on*".  My point is really centered
around "OK but let's try to not penalize those who don't fuck up".  The real
solution is the message you display and maybe a warning in the verifier on
the server saying that the topic doesn't exist.  Juha what do you think?

marcf

That is our story and we stick by it!
-- Bill Clinton's Mother --



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Juha-P Lindfors




On Fri, 1 Jun 2001, Ferguson, Doug wrote:

> It will be trial to remove the topic/queue at undeployment,
> if and only if I added it at deploy time

ok..

> We already display a message at deploytime that says that
> the queue/topic doesn't exist. So it isn't really correct
> that the server hides your fuck ups. It merely deals with them
> in an itelligent fashion.

make it a big and ugly, the size of a stack trace. Anything else will go
unnoticed. We print out too much information anyhow, one liners will drown
in the noise.

-- Juha



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread marc fleury

|> 2- If you miss the spelling.. we should put a message saying "Creating
|> topic" and that's it.. very convenient.
|
|In this case, no, its not very convenient in my opinion. My application
|won't work since the MDB is subscribed to the wrong topic. So why bother
|deploying it at all. It's not going to receive anything anyhow, cause no
|other component in my app is going to publish anything to it.

It is not convenient in the sense that it won't make your mistake go away,
but for those that don't fuck up it is convenient.

If you fucked up, your application won't work anyhow, this is not a feature
to clear fuck-ups... yet if you screw up it doesn't hide the mistake, your
application won't work.

The idea is to enable single listening MDB to create and destroy the topic
they listen to.

|I'd much rather see the lookup fail than have the server hide my fuck ups.
|Because that very clearly indicates something's wrong in the
|configuration.

and by doing so you prevent those that didn't fuck up from having a
convenient feature. Design by exception.

An MDB can create the topic he listens to at deployment time automatically,
where is the evil in that :)?

|The proposed implementation requires me to go clean up the jbossmq.xml
|unless I like to have the naming space cluttered with stuff that wasn't
|supposed to go there. It also allows the application to silently fail, as
|Peter pointed out.

Please read my mails, point 7.

Also, I don't see the "silently" point, if you don't have the right name you
get 2 things from us
1- A "Creating topic"
2- An exception in your application

wanna code a "verifier" barf??? you can do it :)

|There are two clear cases where you reach this exception code. Either the
|admin didn't configure the server correctly, or the developer made
|a mistake.

Well, there is also the case of the guy deploying the MDB and wanting the
server to create the topic at deployment and destroy it at undeployment...
to me it is like us defaulting to the ejb-server name if no jboss.xml jndi
name is specified.

An MDB is deployed, he will listen to a topic for the duration of his life,
the server creates the topic if not present for the duration of his life.

Create topic at deployment, delete at undeployment.. why is this so
contentious, I really fail to see it.

|> 7- Re: creating the topic, **uncreate** it at undeployment and basta! no
|> more non-sense.
|
|No that won't work. The MDB is just one client to the topic. You don't
|want to delete the topic because one subscriber decides to leave.

Yes it will...

If the MDB is deployed and there is no topic we can create and delete the
topic for the time the MDB is up.  The MDB *IS* the only subscriber.

If the MDB is deployed and there is a topic we just listen to it, no create,
no delete.  If you want many subscriber then you are by definition in the
second case.

|-- Juha

Boy, you guys are in a collective bad mood... what the fuck... this is a
simple feature, with a clear defined boundary and a clear advantage.

I really feel like it is a *relevant* MDB feature but you are free to
disagree.   Who coded that, Doug?  He felt the need, I still think it is
valid.  He scratched an itch...

marcf



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread marc fleury

|Ok, I'm fine with this being an optional behavior. I'm not fine with that
|being the only way it is.

I agree. It should be labeled as default-city.  JBoss only.

If you specify all the bells and whistles then of course we will find the
topic in JNDI and use it... J2EE standard.

marcf
|
|- Original Message -
|From: "marc fleury" <[EMAIL PROTECTED]>
|To: <[EMAIL PROTECTED]>
|Sent: Friday, June 01, 2001 2:20 PM
|Subject: RE: [JBoss-dev] JMSContainerInvoker.java
|
|
|> |Its not redundant as there are many provider specific properties
|> |that an admin
|> |has to set: security, clustering, etc. You don't create database
|> |connection pools
|> |automatically because there are too many provider specific
|options that an
|> |admin familiar with the database has to set. In general the same
|> |is true with
|> |JMS.
|>
|> Time out,
|>
|> I am not saying that this should be the ONLY way to do it, just
|that if you
|> don't specify anything in jbossmq.xml we provide a default behavior.
|>
|> If you want to specify the name the security the clustering then
|*of course*
|> you need to do it by hand.  I will agree that my first point was maybe
|> missleading on this.
|>
|> Now, if you don't specify anything in jbossmq.xml then the
|default kicks in,
|> and we notify the user "Creating TOPIC", simple. If there is something
|> specified and the stuff already exists in the naming space then
|*of course*
|> you use that topic.
|>
|> Makes sense, Makes playing with MDBs simple.  An MDB can create
|the Topic he
|> is listening to at deployment time and delete it at
|undeployment... simple,
|> why is it such an issue?
|>
|> marc
|>
|
|
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-development



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Ferguson, Doug

It will be trial to remove the topic/queue at undeployment,
if and only if I added it at deploy time

This way the config file won't "build up"...

We already display a message at deploytime that says that
the queue/topic doesn't exist. So it isn't really correct
that the server hides your fuck ups. It merely deals with them
in an itelligent fashion.

d.

-Original Message-
From: Juha-P Lindfors [mailto:[EMAIL PROTECTED]]
Sent: Friday, June 01, 2001 4:18 PM
To: [EMAIL PROTECTED]
Subject: RE: [JBoss-dev] JMSContainerInvoker.java




On Fri, 1 Jun 2001, marc fleury wrote:
> 1- If it is not there, right now we have to manually go and create the
damn
> thing, very redundant.
> 2- If you miss the spelling.. we should put a message saying "Creating
> topic" and that's it.. very convenient.

In this case, no, its not very convenient in my opinion. My application
won't work since the MDB is subscribed to the wrong topic. So why bother
deploying it at all. It's not going to receive anything anyhow, cause no
other component in my app is going to publish anything to it.

I'd much rather see the lookup fail than have the server hide my fuck ups.
Because that very clearly indicates something's wrong in the
configuration.

The proposed implementation requires me to go clean up the jbossmq.xml
unless I like to have the naming space cluttered with stuff that wasn't
supposed to go there. It also allows the application to silently fail, as
Peter pointed out.


> 4- You guys are designing by exception, i.e. "h but what happens if
> someone FUCKS up and mis-spells the topic.  Well someone FUCKED up... and
we
> SAY "Creating Topic" so we give all the information, where is the harm
done?
> 5- You are saying, because of this possible fuck-up we should not permit
the
> feature that will be very useful for most people design by exception
> 6- design by exception == bad

This piece of code gets called by exception anyhow. It creates
configuration changes that live longer than the MDB it created them for,
and it has no way of knowing if the fix its trying to make is the right
one or if its just messing things up more.

There are two clear cases where you reach this exception code. Either the
admin didn't configure the server correctly, or the developer made a
mistake.
The admin mistake would be easy to notice at deployment time because
there's a failed lookup. The developer mistake will be made more difficult
to notice since the app can fail silently.

> 7- Re: creating the topic, **uncreate** it at undeployment and basta! no
> more non-sense.

No that won't work. The MDB is just one client to the topic. You don't
want to delete the topic because one subscriber decides to leave.

> 8- ANYTHING THAT IS ADMIN FRIENDLY IS GOOD
>
> Oka?

I admit I wear the developer hat more than the admin hat. But anything
that makes it easier for me to find my own bugs saves my time and my
nerves and someone else's money, and that is also good in my book.

If I make a mistake, I'd rather know about it right away, and I'd rather
not go clean up configuration files because of it.

-- Juha



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Scott M Stark

Ok, I'm fine with this being an optional behavior. I'm not fine with that
being the only way it is.

- Original Message - 
From: "marc fleury" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 01, 2001 2:20 PM
Subject: RE: [JBoss-dev] JMSContainerInvoker.java


> |Its not redundant as there are many provider specific properties
> |that an admin
> |has to set: security, clustering, etc. You don't create database
> |connection pools
> |automatically because there are too many provider specific options that an
> |admin familiar with the database has to set. In general the same
> |is true with
> |JMS.
> 
> Time out,
> 
> I am not saying that this should be the ONLY way to do it, just that if you
> don't specify anything in jbossmq.xml we provide a default behavior.
> 
> If you want to specify the name the security the clustering then *of course*
> you need to do it by hand.  I will agree that my first point was maybe
> missleading on this.
> 
> Now, if you don't specify anything in jbossmq.xml then the default kicks in,
> and we notify the user "Creating TOPIC", simple. If there is something
> specified and the stuff already exists in the naming space then *of course*
> you use that topic.
> 
> Makes sense, Makes playing with MDBs simple.  An MDB can create the Topic he
> is listening to at deployment time and delete it at undeployment... simple,
> why is it such an issue?
> 
> marc
> 



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Juha-P Lindfors



On Fri, 1 Jun 2001, marc fleury wrote:
> 1- If it is not there, right now we have to manually go and create the damn
> thing, very redundant.
> 2- If you miss the spelling.. we should put a message saying "Creating
> topic" and that's it.. very convenient.

In this case, no, its not very convenient in my opinion. My application
won't work since the MDB is subscribed to the wrong topic. So why bother
deploying it at all. It's not going to receive anything anyhow, cause no
other component in my app is going to publish anything to it.

I'd much rather see the lookup fail than have the server hide my fuck ups.
Because that very clearly indicates something's wrong in the
configuration.

The proposed implementation requires me to go clean up the jbossmq.xml
unless I like to have the naming space cluttered with stuff that wasn't
supposed to go there. It also allows the application to silently fail, as
Peter pointed out.


> 4- You guys are designing by exception, i.e. "h but what happens if
> someone FUCKS up and mis-spells the topic.  Well someone FUCKED up... and we
> SAY "Creating Topic" so we give all the information, where is the harm done?
> 5- You are saying, because of this possible fuck-up we should not permit the
> feature that will be very useful for most people design by exception
> 6- design by exception == bad

This piece of code gets called by exception anyhow. It creates
configuration changes that live longer than the MDB it created them for,
and it has no way of knowing if the fix its trying to make is the right
one or if its just messing things up more.

There are two clear cases where you reach this exception code. Either the
admin didn't configure the server correctly, or the developer made a mistake.
The admin mistake would be easy to notice at deployment time because
there's a failed lookup. The developer mistake will be made more difficult
to notice since the app can fail silently.

> 7- Re: creating the topic, **uncreate** it at undeployment and basta! no
> more non-sense.

No that won't work. The MDB is just one client to the topic. You don't
want to delete the topic because one subscriber decides to leave.

> 8- ANYTHING THAT IS ADMIN FRIENDLY IS GOOD
>
> Oka?

I admit I wear the developer hat more than the admin hat. But anything
that makes it easier for me to find my own bugs saves my time and my
nerves and someone else's money, and that is also good in my book.

If I make a mistake, I'd rather know about it right away, and I'd rather
not go clean up configuration files because of it.

-- Juha



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread marc fleury

|Its not redundant as there are many provider specific properties
|that an admin
|has to set: security, clustering, etc. You don't create database
|connection pools
|automatically because there are too many provider specific options that an
|admin familiar with the database has to set. In general the same
|is true with
|JMS.

Time out,

I am not saying that this should be the ONLY way to do it, just that if you
don't specify anything in jbossmq.xml we provide a default behavior.

If you want to specify the name the security the clustering then *of course*
you need to do it by hand.  I will agree that my first point was maybe
missleading on this.

Now, if you don't specify anything in jbossmq.xml then the default kicks in,
and we notify the user "Creating TOPIC", simple. If there is something
specified and the stuff already exists in the naming space then *of course*
you use that topic.

Makes sense, Makes playing with MDBs simple.  An MDB can create the Topic he
is listening to at deployment time and delete it at undeployment... simple,
why is it such an issue?

marc

|
|> 1- If it is not there, right now we have to manually go and
|create the damn
|> thing, very redundant.
|> 2- If you miss the spelling.. we should put a message saying "Creating
|> topic" and that's it.. very convenient.
|> 3- What is the big fuss about...?
|> 4- You guys are designing by exception, i.e. "h but what happens if
|> someone FUCKS up and mis-spells the topic.  Well someone FUCKED
|up... and we
|> SAY "Creating Topic" so we give all the information, where is
|the harm done?
|> 5- You are saying, because of this possible fuck-up we should
|not permit the
|> feature that will be very useful for most people design by exception
|> 6- design by exception == bad
|> 7- Re: creating the topic, **uncreate** it at undeployment and basta! no
|> more non-sense.
|> 8- ANYTHING THAT IS ADMIN FRIENDLY IS GOOD
|>
|> Oka?
|>
|> but I am open to discussion and will stick by dug on this one...
|I thought
|> it was a good proposition and I still do.
|>
|> marc
|
|
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-development



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Scott M Stark

Its not redundant as there are many provider specific properties that an admin
has to set: security, clustering, etc. You don't create database connection pools
automatically because there are too many provider specific options that an
admin familiar with the database has to set. In general the same is true with
JMS.

> 1- If it is not there, right now we have to manually go and create the damn
> thing, very redundant.
> 2- If you miss the spelling.. we should put a message saying "Creating
> topic" and that's it.. very convenient.
> 3- What is the big fuss about...?
> 4- You guys are designing by exception, i.e. "h but what happens if
> someone FUCKS up and mis-spells the topic.  Well someone FUCKED up... and we
> SAY "Creating Topic" so we give all the information, where is the harm done?
> 5- You are saying, because of this possible fuck-up we should not permit the
> feature that will be very useful for most people design by exception
> 6- design by exception == bad
> 7- Re: creating the topic, **uncreate** it at undeployment and basta! no
> more non-sense.
> 8- ANYTHING THAT IS ADMIN FRIENDLY IS GOOD
> 
> Oka?
> 
> but I am open to discussion and will stick by dug on this one... I thought
> it was a good proposition and I still do.
> 
> marc



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



RE: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread marc fleury

WTF... the create the MDB topic on deployment if not present?

I think it is a kick ass feature...

let me explain:

1- If it is not there, right now we have to manually go and create the damn
thing, very redundant.
2- If you miss the spelling.. we should put a message saying "Creating
topic" and that's it.. very convenient.
3- What is the big fuss about...?
4- You guys are designing by exception, i.e. "h but what happens if
someone FUCKS up and mis-spells the topic.  Well someone FUCKED up... and we
SAY "Creating Topic" so we give all the information, where is the harm done?
5- You are saying, because of this possible fuck-up we should not permit the
feature that will be very useful for most people design by exception
6- design by exception == bad
7- Re: creating the topic, **uncreate** it at undeployment and basta! no
more non-sense.
8- ANYTHING THAT IS ADMIN FRIENDLY IS GOOD

Oka?

but I am open to discussion and will stick by dug on this one... I thought
it was a good proposition and I still do.

marc



|-Original Message-
|From: [EMAIL PROTECTED]
|[mailto:[EMAIL PROTECTED]]On Behalf Of Juha
|Lindfors
|Sent: Friday, June 01, 2001 11:40 AM
|To: [EMAIL PROTECTED]
|Subject: Re: [JBoss-dev] JMSContainerInvoker.java
|
|
|
|poo poo!
|
|;-D
|
|--Juha
|
|At 07:08 1.6.2001 -0700, you wrote:
|>This is something that was suggested at the Atlanta training and Marc
|liked so
|>you need to slap him around. I was not particularly in favor of it and
|that seems
|>to be the general feeling so let's roll the change back.
|>
|>- Original Message -
|>From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
|>To: <[EMAIL PROTECTED]>
|>Sent: Friday, June 01, 2001 3:15 AM
|>Subject: Re: [JBoss-dev] JMSContainerInvoker.java
|>
|>
|>
|>
|>On Fri, 1 Jun 2001, Peter Antman wrote:
|>>
|>> You see what will happen? Yes, the client will send its messages to one
|>> topic (no automatic creation here), and the MDB will listen on ANOTHER
|>> topic, namely a to the system unknown destination, since it was not
|>> correctly spelled.
|>>
|>> What do you other guys say on the list? Hiram?
|>
|>I agree with you it's not a good change. If the developer has made a
|>mistake in his code or forgot to add the topic he should be warned during
|>the deployment, instead of allowing the application to silently fail.
|>
|>Also, since the created topics are persistent, this requires the developer
|>to go clean up the jbossmq configuration file from time to time to make
|>sure resources aren't wasted on topics that never meant to be there in the
|>first place. I think thats worse than the requirement of having to create
|>the topic upfront, especially since the developer may not even be
|aware he is
|>accidentally creating new topics.
|>
|>So if the idea was to help the developer to avoid finding out about our
|>obscure configuration files, I think this change may have made the problem
|>even worse. Now you HAVE TO go browse them, just to fix your typos that
|>won't go away.
|>
|>-- Juha
|>
|>
|>
|>
|>___
|>Jboss-development mailing list
|>[EMAIL PROTECTED]
|>http://lists.sourceforge.net/lists/listinfo/jboss-development
|>
|
|___
|Jboss-development mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-development



___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Juha Lindfors


poo poo!

;-D

--Juha

At 07:08 1.6.2001 -0700, you wrote:
>This is something that was suggested at the Atlanta training and Marc
liked so
>you need to slap him around. I was not particularly in favor of it and
that seems
>to be the general feeling so let's roll the change back.
>
>- Original Message - 
>From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Friday, June 01, 2001 3:15 AM
>Subject: Re: [JBoss-dev] JMSContainerInvoker.java
>
>
>
>
>On Fri, 1 Jun 2001, Peter Antman wrote:
>>
>> You see what will happen? Yes, the client will send its messages to one
>> topic (no automatic creation here), and the MDB will listen on ANOTHER
>> topic, namely a to the system unknown destination, since it was not
>> correctly spelled.
>>
>> What do you other guys say on the list? Hiram?
>
>I agree with you it's not a good change. If the developer has made a
>mistake in his code or forgot to add the topic he should be warned during
>the deployment, instead of allowing the application to silently fail.
>
>Also, since the created topics are persistent, this requires the developer
>to go clean up the jbossmq configuration file from time to time to make
>sure resources aren't wasted on topics that never meant to be there in the
>first place. I think thats worse than the requirement of having to create
>the topic upfront, especially since the developer may not even be aware he is
>accidentally creating new topics.
>
>So if the idea was to help the developer to avoid finding out about our
>obscure configuration files, I think this change may have made the problem
>even worse. Now you HAVE TO go browse them, just to fix your typos that
>won't go away.
>
>-- Juha
>
>
>
>
>___
>Jboss-development mailing list
>[EMAIL PROTECTED]
>http://lists.sourceforge.net/lists/listinfo/jboss-development
>

___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Scott M Stark

This is something that was suggested at the Atlanta training and Marc liked so
you need to slap him around. I was not particularly in favor of it and that seems
to be the general feeling so let's roll the change back.

- Original Message - 
From: "Juha-P Lindfors" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 01, 2001 3:15 AM
Subject: Re: [JBoss-dev] JMSContainerInvoker.java




On Fri, 1 Jun 2001, Peter Antman wrote:
>
> You see what will happen? Yes, the client will send its messages to one
> topic (no automatic creation here), and the MDB will listen on ANOTHER
> topic, namely a to the system unknown destination, since it was not
> correctly spelled.
>
> What do you other guys say on the list? Hiram?

I agree with you it's not a good change. If the developer has made a
mistake in his code or forgot to add the topic he should be warned during
the deployment, instead of allowing the application to silently fail.

Also, since the created topics are persistent, this requires the developer
to go clean up the jbossmq configuration file from time to time to make
sure resources aren't wasted on topics that never meant to be there in the
first place. I think thats worse than the requirement of having to create
the topic upfront, especially since the developer may not even be aware he is
accidentally creating new topics.

So if the idea was to help the developer to avoid finding out about our
obscure configuration files, I think this change may have made the problem
even worse. Now you HAVE TO go browse them, just to fix your typos that
won't go away.

-- Juha




___
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development



Re: [JBoss-dev] JMSContainerInvoker.java

2001-06-01 Thread Juha-P Lindfors



On Fri, 1 Jun 2001, Peter Antman wrote:
>
> You see what will happen? Yes, the client will send its messages to one
> topic (no automatic creation here), and the MDB will listen on ANOTHER
> topic, namely a to the system unknown destination, since it was not
> correctly spelled.
>
> What do you other guys say on the list? Hiram?

I agree with you it's not a good change. If the developer has made a
mistake in his code or forgot to add the topic he should be warned during
the deployment, instead of allowing the application to silently fail.

Also, since the created topics are persistent, this requires the developer
to go clean up the jbossmq configuration file from time to time to make
sure resources aren't wasted on topics that never meant to be there in the
first place. I think thats worse than the requirement of having to create
the topic upfront, especially since the developer may not even be aware he is
accidentally creating new topics.

So if the idea was to help the developer to avoid finding out about our
obscure configuration files, I think this change may have made the problem
even worse. Now you HAVE TO go browse them, just to fix your typos that
won't go away.

-- Juha


 >
> //Peter
>
> On 31 Maj, [EMAIL PROTECTED] wrote:
> >   User: thedug
> >   Date: 01/05/31 16:53:44
> >
> >   Modified:src/main/org/jboss/ejb/plugins/jms JMSContainerInvoker.java
> >   Log:
> >   Add auto generation for topic/queue if topic/queue doesn't already exist.
> >   Uses the mbean server to create a new topic/queue..
> >
> >   Revision  ChangesPath
> >   1.11  +54 -7 
>jboss/src/main/org/jboss/ejb/plugins/jms/JMSContainerInvoker.java
> >
> >   Index: JMSContainerInvoker.java
> >   ===
> >   RCS file: 
>/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/jms/JMSContainerInvoker.java,v
> >   retrieving revision 1.10
> >   retrieving revision 1.11
> >   diff -u -r1.10 -r1.11
> >   --- JMSContainerInvoker.java  2001/05/07 19:19:57 1.10
> >   +++ JMSContainerInvoker.java  2001/05/31 23:53:44 1.11
> >   @@ -45,18 +45,24 @@
> >import org.jboss.jms.jndi.JMSProviderAdapter;
> >import org.jboss.jms.asf.ServerSessionPoolFactory;
> >
> >   +import org.exolab.jms.client.JmsServerSessionPool;
> >   +
> >import org.w3c.dom.Element;
> >
> >   +import javax.management.MBeanServerFactory;
> >   +import javax.management.MBeanServer;
> >   +import javax.management.ObjectName;
> >   +
> >/**
> > * ContainerInvoker for JMS MessageDrivenBeans, based on JRMPContainerInvoker.
> > *  
> >   - *
> >   + *
> > *  @see 
> > *  @author Peter Antman ([EMAIL PROTECTED])
> > *  @author Rickard Öberg ([EMAIL PROTECTED])
> > *  @author mailto:[EMAIL PROTECTED]";>Sebastien 
>Alborini
> > *  @author mailto:[EMAIL PROTECTED]";>Marc Fleury
> >   - *  @version $Revision: 1.10 $
> >   + *  @version $Revision: 1.11 $
> > */
> >public class JMSContainerInvoker implements
> >ContainerInvoker, XmlLoadable
> >   @@ -205,7 +211,24 @@
> >
> >   // Set up pool
> >   ServerSessionPoolFactory poolFactory = 
>(ServerSessionPoolFactory)jbossContext.lookup(serverSessionPoolFactoryJNDI);
> >   -
> >   +
> >   +   // jndiSuffix is merely the name that the user has given the MDB.
> >   +   // since the jndi name contains the message type I have to split at the 
>"/"
> >   +   // if there is no slash then I use the entire jndi name.
> >   +   String jndiSuffix = "";
> >   +   if(destinationJNDI != null){
> >   +int indexOfSlash = destinationJNDI.indexOf("/");
> >   +if(indexOfSlash != -1){
> >   +  jndiSuffix = destinationJNDI.substring(indexOfSlash+1);
> >   +}else{
> >   +  jndiSuffix = destinationJNDI;
> >   +}
> >   +
> >   +// if the jndi name from jboss.xml is null then lets use the ejbName
> >   +}else{
> >   +jndiSuffix = config.getEjbName();
> >   +}
> >   +   MBeanServer server = 
>(MBeanServer)MBeanServerFactory.findMBeanServer(null).iterator().next();
> >
> >   if (destinationType.equals("javax.jms.Topic"))
> >{
> >   @@ -230,7 +253,18 @@
> >}
> >
> >// Lookup destination
> >   -Topic topic = (Topic)context.lookup(destinationJNDI);
> >   +   // First Try a lookup.
> >   +   // If that lookup fails then try to contact the MBeanServer and 
>inoke a new...
> >   +   // Then do lookup again..
> >   +String topicJndi = "topic/"+jndiSuffix;
> >   +Topic topic;
> >   +try{
> >   +   topic = (Topic)context.lookup(topicJndi);
> >   +}catch(NamingException ne){
> >   +   Logger.log("JndiName not found:"+topicJndi + "...attempting 
>to recover");
> >   +   server.invoke(new ObjectName("JMS","service","JMSServ