Re: jk2: config

2002-03-19 Thread jean-frederic clere

[EMAIL PROTECTED] wrote:
 
 I just commited a big chunk of config changes to support
 dynamic configuration of jk2.
 
 I'm pretty happy with the new model - many new things
 will become possible.
 
 As you know, I'm usually a bit extreme regarding backward
 compatibility. Preserving it is still possible - but
 I'm now convinced it would be much better to not do so.

We could write a converter from old format to new format if too many people
complain.

 
 The current code follows a single pattern:
  [OBJECT_NAME].[PROPERTY]=value
 
 OBJECT_NAME can be either a previously defined
 object ( like 'logger', 'workerEnv', 'config' ) or
 a new object that is created when the name is first
 reached.
 
 The object is created using a factory that matches
 the prefix.
 
 Ex:
  worker.ajp13.8009.channel=socket
 
 In this case, channel is the property, and
 worker.ajp13.8009 is the object name. It'll match
 the factory for 'worker.ajp13'.
 
 No need to specify 'type' or 'worker_list' or to
 use any other constructs.
 
 The property can be set at any time - but not all
 objects and all properties support run-time
 config ( at this moment - we'll add this in time ).
 
 The whole idea is that the config is intended for
 config tools or other frontends - or at least that's
 the goal. We want to allow user configuration, but
 in order to support ajp14 and dynamic config ( like
 deployment of webapps, etc ) we need to let mod_jk
 write the config file.
 
 Axis does the same thing with the wsdl, same for
 kde, gnome, etc. The config is editable, but when
 the program runs it will manage it and save it.
 
 The main problem is that the comments may be lost,
 and any manual change done while the server
 is running will probably have the same fate.

A warning in the first lines of the file like:
+++
#   
# NOTE: This file is automatically updated by the
autoconfigure.  
# Any changes will be lost! 
#   
+++
is probably enough.

 
 Again, this is not for the first release of jk2, but
 IMHO it should follow soon.
 
 One idea I'm considering is to use the ini style
 for URIs. That is:
 
  [object_name]
  propery=value
  ...
 
 This will make the syntax much cleaner for URIs.
 It's a well-known format, used in many cases and programs
 - far better than inventing our own ( and better
  than hacking the name/value ). Of course, XML
 may be a better choice - but I won't volunteer to
 do xml processing in C :-)

If the file is handled by program it does not need to be nice: for me the
property format is enough.
And -0  for using xerces C to do that... I want to run mod_jk on EBCDIC machines
and porting xerces C is some work.
What about parsing the xml file in Java? ;-) 

 
 Costin
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: jk2: config

2002-03-19 Thread GOMEZ Henri

If the file is handled by program it does not need to be nice: 
for me the
property format is enough.
And -0  for using xerces C to do that... I want to run mod_jk 
on EBCDIC machines
and porting xerces C is some work.
What about parsing the xml file in Java? ;-) 

Hi Jf,

Did you have expat ready on your boxes ?

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: jk2: Config changes ( again )

2002-03-13 Thread jean-frederic clere

[EMAIL PROTECTED] wrote:
 
 On Tue, 12 Mar 2002, jean-frederic clere wrote:
 
  myworker1=
  Would be the same as:
  myworker1=ajp13://localhost:8009?lbfactor=0debug=ERROR
  (no load balancing and only log error messages).
 
 
  How to describe AF_UNIX or shared memory (as transport but not protocol)?
  myworker1=ajp13://file_name:afsocket?lbfactor=0debug=ERROR
  myworker1=ajp13://key_file:shm?lbfactor=0debug=ERROR
 
 Good question...
 
 ajp13:aprChannel:/tmp/tomcat.socket?
 or
 apj13:channel.apr:/tmp/tomcat.socket?lbfactor=0...
 
 ajp13:jniChannel?lbfactor=0debug=0
 
 If no channel is specified, default to the socket channel.
 ajp13:channel.socket://localhost:8009
 ajp13://localhost:8009
 
 Ok, so the question is: which form ? The goal is to be intuitive, easy to
 type, easy to explain. It seems some hierarchical naming is the best way
 ( but which form ? ).
 
 So far we have the following:
 
 - separators do not matter ( syntactical sugar ) - . : / _ -
 - each 'name' is hierarchical
 - a name with a single component ( myworker1 ) defines an alias, for
 easier typing. The RHS will be the real name. Question: should it be
 alias.myworker1=ajp13:// ?

Why do we alias?

 
 - The first part of the hierarchical name will identify the type.
 
 - The second part of the hierarchical name be used by the constructor.
 For example, the ajp13 constructor will take the local part and interpret
 the first component as a channel name, then what's after ? as parameters.
 
 What do we do about properties ? Are we going with 2 styles - a URL style
 and a workers.properties style ?

No... We should choose one.

 
 In workers.properties style:
 
 ajp13.[LOCAL_PART].port=8009
 ajp13.[LOCAL_PART].debug=0
 ajp13.[LOCAL_PART].lbfactor=1
 
 More ideas ? Implementing this is not trivial, but I would hate to have to
 do it again.
 
 Costin
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: jk2: Config changes ( again )

2002-03-12 Thread jean-frederic clere

[EMAIL PROTECTED] wrote:
 
 On Tue, 12 Mar 2002, jean-frederic clere wrote:
 
  What to do when myvhost is www.apache.org for example...
  uri.www.apache.org:/examples.worker? Using ':' instead of '.' does not
  solve the problem.
 
 Sounds good.
 
 If we use a hierarchical name we also solve the 'type' restriction:
 
  worker.ajp13_9009.port=9009
 or
  worker.ajp13.9009.port=9009
 
 Each name must start with the type. Quotes can be used for the local part,
 and will be ignored. The local part can be used in the constructor ( I
 mean factory :-) for additional heuristics, to reduce the amount of
 configuration.
 
  worker.ajp13.host2.foo:8009
 or
  worker.ajp13.host2.foo:8009
 
 I would still like to have : and uri-style names at least as an option.
 
 What about using URI for name:
 
   ajp13://host.foo:8009/?lbfactor=1
 or
   ajp13://host.foo:8009/;lbfactor=1
 
 Even better - .:/_- are delimiters, the prefix is used to locate the type
 ( it can have one or more components ), the last component is used as
 property. And the property and =value are optional - so
 
 ajp13://host.foo:8009
 
 will be a valid construct in workers.properties, the name used in
 constructor and all properties with default values.
 
 If we do that we can simplify the config even more - and eliminate the
 requirement for a worker to be declared in workers.properties. You just
 use a uri for the name, in the JkMount equivalent - and we'll know
 what to do.
 
 Even more extreme - use full uri, with query strings. We're in a http
 server, we should know how to parse this kind of stuff :-)
 
 Location /examples
   JkUriSet worker ajp13://tomcat_host.my.com:8009?lbfactor=10debug=INFO
 /Location
 
 And another idea for workers.properties:
 
 myworker1=ajp13://host.name.com:8009?lbfactor=10debug=INFO
 
 In this case the name ( without any delimiter ) will act as a shortcut or
 alias, the RHS will be a URI that will be used in constructor. Both alias
 or the uri can be used in JkMount/JkUriSet/uri properties.

myworker1=
Would be the same as:
myworker1=ajp13://localhost:8009?lbfactor=0debug=ERROR
(no load balancing and only log error messages).

How to describe AF_UNIX or shared memory (as transport but not protocol)?
myworker1=ajp13://file_name:afsocket?lbfactor=0debug=ERROR
myworker1=ajp13://key_file:shm?lbfactor=0debug=ERROR

 
 More brainstorming ? Should we post this on tomcat-users, to get more
 feedback ?
 
 Costin
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: jk2: Config changes ( again )

2002-03-12 Thread costinm

On Tue, 12 Mar 2002, jean-frederic clere wrote:

 myworker1=
 Would be the same as:
 myworker1=ajp13://localhost:8009?lbfactor=0debug=ERROR
 (no load balancing and only log error messages).

 
 How to describe AF_UNIX or shared memory (as transport but not protocol)?
 myworker1=ajp13://file_name:afsocket?lbfactor=0debug=ERROR
 myworker1=ajp13://key_file:shm?lbfactor=0debug=ERROR

Good question... 

ajp13:aprChannel:/tmp/tomcat.socket?
or
apj13:channel.apr:/tmp/tomcat.socket?lbfactor=0...

ajp13:jniChannel?lbfactor=0debug=0

If no channel is specified, default to the socket channel.
ajp13:channel.socket://localhost:8009
ajp13://localhost:8009

Ok, so the question is: which form ? The goal is to be intuitive, easy to 
type, easy to explain. It seems some hierarchical naming is the best way
( but which form ? ).

So far we have the following:

- separators do not matter ( syntactical sugar ) - . : / _ -
- each 'name' is hierarchical
- a name with a single component ( myworker1 ) defines an alias, for 
easier typing. The RHS will be the real name. Question: should it be
alias.myworker1=ajp13:// ?

- The first part of the hierarchical name will identify the type. 

- The second part of the hierarchical name be used by the constructor.
For example, the ajp13 constructor will take the local part and interpret 
the first component as a channel name, then what's after ? as parameters.

What do we do about properties ? Are we going with 2 styles - a URL style
and a workers.properties style ? 

In workers.properties style:


ajp13.[LOCAL_PART].port=8009
ajp13.[LOCAL_PART].debug=0
ajp13.[LOCAL_PART].lbfactor=1


More ideas ? Implementing this is not trivial, but I would hate to have to 
do it again. 

Costin







--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: jk2: Config changes ( again )

2002-03-12 Thread GOMEZ Henri

Even more extreme - use full uri, with query strings. We're in a http 
server, we should know how to parse this kind of stuff :-)

Location /examples
  JkUriSet worker 
ajp13://tomcat_host.my.com:8009?lbfactor=10debug=INFO
/Location

Good, but Apache oriented

And another idea for workers.properties:

myworker1=ajp13://host.name.com:8009?lbfactor=10debug=INFO

Better since it should be easier to port on non Apache 
WebServer like IIS/iPlanet, a common synthax

In this case the name ( without any delimiter ) will act as a 
shortcut or 
alias, the RHS will be a URI that will be used in constructor. 
Both alias
or the uri can be used in JkMount/JkUriSet/uri properties.

More brainstorming ? Should we post this on tomcat-users, to get more 
feedback ? 

Yes, there is many tomcat/apache admins at tomcat-users...

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: jk2: Config changes ( again )

2002-03-11 Thread jean-frederic clere

[EMAIL PROTECTED] wrote:
 
 Yes, it's happening again... I feel I'm really close to
 what I want - so please send feedback !
 
 The goal - improve mod_jk2 configuration.
 Subgoals:
 - make it more intuitive / simpler / cleaner
 - allow runtime changes ( and query )
 
 The proposed solution:
 
 Same config model that is used in Java beans.
 All jk components will have a setProperty() and the
 config will be 'pushed' by a config module.
 
 A component can react at runtime to some config changes (
 most don't - but that can change in time, it's the
 model that matter ).
 
 That means no code in mod_jk2 will use things
 like:
 
 jk_map_getStringProperty(worker.ajp13.port ),
 
 but the config module will locate 'worker.ajp13' and
 call setProperty(port, 8009 ).
 
 The config module can be pluggable itself - it can
 read the config from the properties file or from
 registry, XML, wire protocol ( ajp14 or something else ),
 LDAP, NDS, whatever :-)
 Most likely properties file for the first release, of course.
 
 Again, we'll deal with named components and properties -
 I'll not call it jk_mbean, but it'll be close.
 
 The syntax for the properties file will be slightly changed
 ( again ). There are 2 ways to do it:
 
 [property]:[object_name]=value
 [object_name].[property]=value
 
 The first property for each object must be 'type'
 ( with a special exception for URIs ). The type
 will be used to construct the object, like className
 in java side. ( I can eliminate this requirement,
 but later, I want to keep first version simpler ).
 
 It is possible ( probably not in the first release ) to
 get a message if a property name is not recognized ( right
 now this is siltenly ignored in jk1), or if the value
 is wrong ( and stop ).
 
 The first form is usefull for URIs or names that are
 'stranger', the second is good for backward compat.
 
 Each object will be created and registered in the jk_env.
 
 A getProperty will allow read access to various properties,
 including dynamically-constructed.
 
 Comments please, after I'm done with that I would like
 to freeze and prepare for an alpha/beta, and it will
 be harder to change too much.

I prefer the form [object_name].[property]=value.
That way the file could be handled in Java via ExtendedProperties.

 
 Costin
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: jk2: Config changes ( again )

2002-03-11 Thread GOMEZ Henri

Yes, it's happening again... I feel I'm really close to 
what I want - so please send feedback !

Let's go

The goal - improve mod_jk2 configuration. 
Subgoals: 
- make it more intuitive / simpler / cleaner
- allow runtime changes ( and query )

good

The proposed solution:

Same config model that is used in Java beans. 
All jk components will have a setProperty() and the 
config will be 'pushed' by a config module.

ok

A component can react at runtime to some config changes (
most don't - but that can change in time, it's the 
model that matter ). 

ok

That means no code in mod_jk2 will use things 
like:

jk_map_getStringProperty(worker.ajp13.port ), 

but the config module will locate 'worker.ajp13' and 
call setProperty(port, 8009 ).

You mean 

the config module will locate 'worker.ajp13' 
call getProperty(port, 8009 ) 

The config module can be pluggable itself - it can 
read the config from the properties file or from
registry, XML, wire protocol ( ajp14 or something else ),
LDAP, NDS, whatever :-)
Most likely properties file for the first release, of course.

ok

Again, we'll deal with named components and properties - 
I'll not call it jk_mbean, but it'll be close. 

;)

The syntax for the properties file will be slightly changed
( again ). There are 2 ways to do it:

[property]:[object_name]=value
[object_name].[property]=value

[object_name].[property]=value will help make blocks

The first property for each object must be 'type'
( with a special exception for URIs ). The type
will be used to construct the object, like className
in java side. ( I can eliminate this requirement,
but later, I want to keep first version simpler ).

It is possible ( probably not in the first release ) to
get a message if a property name is not recognized ( right
now this is siltenly ignored in jk1), or if the value
is wrong ( and stop ).

The first form is usefull for URIs or names that are
'stranger', the second is good for backward compat.

Each object will be created and registered in the jk_env.

A getProperty will allow read access to various properties,
including dynamically-constructed.

Comments please, after I'm done with that I would like
to freeze and prepare for an alpha/beta, and it will
be harder to change too much.

I agree, let's go

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: jk2: Config changes ( again )

2002-03-11 Thread costinm

On Tue, 12 Mar 2002, GOMEZ Henri wrote:

 but the config module will locate 'worker.ajp13' and 
 call setProperty(port, 8009 ).
 
 You mean 
 
 the config module will locate 'worker.ajp13' 
 call getProperty(port, 8009 ) 

setProperty, yes.

The current impl ( not checked in ) adds a new struct,
jk_bean {}, with the set/getAttribute method ( the 
attribute doesn't have to be string in the general case,
and I used the naming from jmx ).

All objects are created by jk_env-createIntance(), with a 
type and a name - and will have an associated mbean with
the 2 methods.

The name can be used to get the object, env-getByName(), 
or the mbean, env-getMBean().

I tried to mirror closely the dynamic mbean model for 
configuration - but just the basic setAttribute is 
implemented ( more can be added, or implemented in a
java-side wrapper ).

You can set object properties from a normal worker ( like status ),
with a protocol extension ( ajp14 ), or in any other way,
this is independent of the object's implementation.
 

 The syntax for the properties file will be slightly changed
 ( again ). There are 2 ways to do it:
 
 [property]:[object_name]=value
 [object_name].[property]=value
 
 [object_name].[property]=value will help make blocks

The only problem is the URI. 

uri:myvhost:8080/examples.worker=ajp13 
uri:myvhost:8080/examples.logRequest=true 

The alternative:
worker:uri:myvhost:8080/examples=ajp13

( in this example, uri:HOST:PORT/PATH is the name that will be used
for that particular jk_uriEnv_t object ).


Costin


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: Jk2 config

2002-02-26 Thread GOMEZ Henri

 JkSet LogFile/var/log/httpd/mod_jk.log

I would use logFile, logLevel - current options in 
workers.properties start will small caps, and this 
can go in either w.properties and httpd.conf.

ok for logfile, logLevel instead of Logfile/LogLevel.
BTW, may be good to UsE aNY CaSE ?

 The forward options : ?
 
 JkSet Forward SSLKeySize 
 JkSet Forward URICompat
 JkSet Forward URICompatUnparsed
 JkSet Forward URIEscaped

JkSet forward.SSLKeySize true

JkSet uriCompat true
JkSet uriCompatUnparsed true

Or even better:
JkSet sslKeySizeForward true
JkSet uriForward compat/compatUnparsed/escaped

Ok for JkSet sslKeySizeForward true and 
JkSet uriForward compat/compatUnparsed/escaped

 JkMount is not doing anything special - it's the same 
 efect as the properties file we use on IIS. Except that
 properties are easier to generate and will be consistent
 for all servers ( no longer need to generate 3 different 
 styles ). 
 
 -1, I'd like to keep the JkMount as it's absolutly mandatory
 for fine tuning (ie all examples servlet/jsp handled by TC) but
 static by Apache. It could be renamed to JkURIMount for example.

JkMount is replaced by:

urimap.properties 

Examples ? I never used urimap.properties
since I'm using only Apache 1.3/2.0 user.


or ( apache style )

Location /examples 
  JkWebapp worker ajp13
/Location

Location /examples/*.jsl
  JkHandler jakarta/jk2-servlet
/Location

or 
JkSet /examples/*.jsp ajp13

We can add a 
JkUriSet /examples/*.jsp ajp13

Did these are available by Virtual ?
If so we could use whatever, even if
I prefer :

JkUriSet /examples/*.jsp ajp13

 3. JkServlet NAME VALUE
 Set properties per/servlet. I'm not yet finished with
 this one, we may not need it.
 
 What's the planned use for this one ?

Set properties per/uri - fine tunning, including 
setting the servlet name - the URI is mapped once
by apache, there's no need for a second mapping 
in tomcat.

What about:

JkUriSet /uri name value

to replace both JkWebapp and JkServlet ?
Both are used to set properties associated with a uri -
the worker name for the webapp, fine tunning for uris.

Example ? 

JkUriSet /examples name? value?

 What about :
 
 Jk(2)EnvVar ?
 Jk(2)MountCopy ?

JkSet mountCopy true 

ok

JkSet env.NAME DEFAULT_FALUE

ok

We could also use it in a Location context later

JkUriSet env.NAME VALUE 

In this particular case it may be worth adding a 
JkEnv directive, but it _must_ have an equivalent in
workers.properties and that means a JkSet equivalent too.

Could we have with Apache expat parser ?

JkUriSet
Mount /examples/*.jsp ajp13
EnvVar NAME VALUE
/JkUriSet

And what about XML parsing like this in IIS/iPlanet/Domino ?

Finally how did we use ajp14 autoconf features ?
May be via :

JkAutoUriSet /examples ajp13

which will return from web.xml via ajp14
protocol 

/examples/*.jsp
/examples/servlet/*
/examples/*.xml

autoconf is really something nice for the average user


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: Jk2 config

2002-02-25 Thread GOMEZ Henri

I'm thinking about:

1. JkSet NAME VALUE
Will have exactly the same behavior as NAME=VALUE in a 
workers.properties file.
All settings that you can do in workers.properties today
could be done by JkSet, in httpd.conf. Or all settings
could be done in workers.properties. 

For example JkLogLevel DEBUG will be now:
JkSet logLevel DEBUG ( in httpd.conf )
or 
logLevel=DEBUG ( in workers.propertes )

+1 for JkSet

=

JkSet LogFile   /var/log/httpd/mod_jk.log
JkSet LogLevel DEBUG
JkSet LogStampFormat %d/%m/%y
JkSet HTTPSIndicator HTTPS
JkSet CERTSIndicator SSL_CLIENT_CERT
JkSet CIPHERIndicator SSL_CIPHER
JkSet SESSIONIndicator SSL_SESSION_ID
JkSet KEYSIZEIndicator SSL_CIPHER_USEKEYSIZE
JkSet ExtractSSL TRUE

The forward options : ?

JkSet Forward SSLKeySize 
JkSet Forward URICompat
JkSet Forward URICompatUnparsed
JkSet Forward URIEscaped



The first style is for people who prefer working with
httpd.conf, the other one will be easier for IIS/iPlanet
and may be easier to generate/edit.

2. JkWebapp NAME VALUE
Set properties on a webapp level. Will be set 
at Location level. An equivalent setting will be 
in a uri-workers.properties ( or a better named one ),
the same that we use for IIS. 

+1 

JkMount is not doing anything special - it's the same 
efect as the properties file we use on IIS. Except that
properties are easier to generate and will be consistent
for all servers ( no longer need to generate 3 different 
styles ). 

-1, I'd like to keep the JkMount as it's absolutly mandatory
for fine tuning (ie all examples servlet/jsp handled by TC) but
static by Apache. It could be renamed to JkURIMount for example.

Location will be used for performance, it uses
the apache mapper instead of jk's.

3. JkServlet NAME VALUE
Set properties per/servlet. I'm not yet finished with
this one, we may not need it.

What's the planned use for this one ?

After jk2 is finalized and we're ready to drop jk1 
we'll just implement a compat layer - the old options
in jk1. That's what I did so far, but I think it's 
better to make the switch to a better model and 
keep that only for migration.

What about :

Jk(2)EnvVar ?
Jk(2)MountCopy ?

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: Jk2 config

2002-02-25 Thread costinm

On Mon, 25 Feb 2002, GOMEZ Henri wrote:

 JkSet LogFile /var/log/httpd/mod_jk.log

I would use logFile, logLevel - current options in 
workers.properties start will small caps, and this 
can go in either w.properties and httpd.conf.

 The forward options : ?
 
 JkSet Forward SSLKeySize 
 JkSet Forward URICompat
 JkSet Forward URICompatUnparsed
 JkSet Forward URIEscaped

JkSet forward.SSLKeySize true

JkSet uriCompat true
JkSet uriCompatUnparsed true

Or even better:
JkSet sslKeySizeForward true
JkSet uriForward compat/compatUnparsed/escaped

 JkMount is not doing anything special - it's the same 
 efect as the properties file we use on IIS. Except that
 properties are easier to generate and will be consistent
 for all servers ( no longer need to generate 3 different 
 styles ). 
 
 -1, I'd like to keep the JkMount as it's absolutly mandatory
 for fine tuning (ie all examples servlet/jsp handled by TC) but
 static by Apache. It could be renamed to JkURIMount for example.

JkMount is replaced by:

urimap.properties 

or ( apache style )

Location /examples 
  JkWebapp worker ajp13
/Location

Location /examples/*.jsl
  JkHandler jakarta/jk2-servlet
/Location

or 
JkSet /examples/*.jsp ajp13

We can add a 
JkUriSet /examples/*.jsp ajp13


 3. JkServlet NAME VALUE
 Set properties per/servlet. I'm not yet finished with
 this one, we may not need it.
 
 What's the planned use for this one ?

Set properties per/uri - fine tunning, including 
setting the servlet name - the URI is mapped once
by apache, there's no need for a second mapping 
in tomcat.

What about:

JkUriSet /uri name value

to replace both JkWebapp and JkServlet ?
Both are used to set properties associated with a uri -
the worker name for the webapp, fine tunning for uris.

 What about :
 
 Jk(2)EnvVar ?
 Jk(2)MountCopy ?

JkSet mountCopy true 

JkSet env.NAME DEFAULT_FALUE

We could also use it in a Location context later

JkUriSet env.NAME VALUE 

In this particular case it may be worth adding a 
JkEnv directive, but it _must_ have an equivalent in
workers.properties and that means a JkSet equivalent too.

Costin 


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: Jk2 config

2002-02-23 Thread Bill Barker

I'm understandably fond of ApacheConfig, but I realize that we can do
better.  For the rest, see inline.
- Original Message -
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Friday, February 22, 2002 11:02 PM
Subject: Jk2 config


 I'm going to do few more changes to jk2 config ( unless anyone has a
 better idea ).

 Instead of renaming all config directives with Jk2, I would
 like to just _remove_ them all. If the old directives are
 used in a config, mod_jk1 will do what's expected.

From what I've read, I'd still like a 'compatibility mode', to allow for
webmasters to fine-tune.  The fatal flaw of mod_webapp was to promise more
than it could deliver (and, no, Pier, I don't want to start a flame-war.
warp could have been very good if it hadn't been orphaned).  But I suspect
that I'm just not fully understanding the proposal.


 I would like to minimze the number of directives to 2-3, and
 keep most of the code common for all servers.

 I'm thinking about:

 1. JkSet NAME VALUE
 Will have exactly the same behavior as NAME=VALUE in a
 workers.properties file.
 All settings that you can do in workers.properties today
 could be done by JkSet, in httpd.conf. Or all settings
 could be done in workers.properties.

 For example JkLogLevel DEBUG will be now:
 JkSet logLevel DEBUG ( in httpd.conf )
 or
 logLevel=DEBUG ( in workers.propertes )

 The first style is for people who prefer working with
 httpd.conf, the other one will be easier for IIS/iPlanet
 and may be easier to generate/edit.

 2. JkWebapp NAME VALUE
 Set properties on a webapp level. Will be set
 at Location level. An equivalent setting will be
 in a uri-workers.properties ( or a better named one ),
 the same that we use for IIS.

AFAIK, the Location is unique to Apache and has no equivalent in IIS or
iPlanet.  Even with Apache it is problematic in the presence of
VirtualHosts.


 JkMount is not doing anything special - it's the same
 efect as the properties file we use on IIS. Except that
 properties are easier to generate and will be consistent
 for all servers ( no longer need to generate 3 different
 styles ).


As much as I hate the IIS syntax, I suppose I'll have to hold my nose and
vote +1.

 Location will be used for performance, it uses
 the apache mapper instead of jk's.

 3. JkServlet NAME VALUE
 Set properties per/servlet. I'm not yet finished with
 this one, we may not need it.


-1.  This should be handled by Tomcat (via web.xml), not Apache/IIS/iPlanet.


 After jk2 is finalized and we're ready to drop jk1
 we'll just implement a compat layer - the old options
 in jk1. That's what I did so far, but I think it's
 better to make the switch to a better model and
 keep that only for migration.

 Opinions ?

 Costin








 --
 To unsubscribe, e-mail:
mailto:[EMAIL PROTECTED]
 For additional commands, e-mail:
mailto:[EMAIL PROTECTED]



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




RE: Jk2 config

2002-02-23 Thread Kevin Seguin

 
 1. JkSet NAME VALUE
 Will have exactly the same behavior as NAME=VALUE in a 
 workers.properties file.
 All settings that you can do in workers.properties today
 could be done by JkSet, in httpd.conf. Or all settings
 could be done in workers.properties. 
 
 For example JkLogLevel DEBUG will be now:
 JkSet logLevel DEBUG ( in httpd.conf )
 or 
 logLevel=DEBUG ( in workers.propertes )
 
 The first style is for people who prefer working with
 httpd.conf, the other one will be easier for IIS/iPlanet
 and may be easier to generate/edit.
 

+1 - i really like the idea of being able to configure the different web servers 
+(apache/iis/netscape) in a similar fashion.

 2. JkWebapp NAME VALUE
 Set properties on a webapp level. Will be set 
 at Location level. An equivalent setting will be 
 in a uri-workers.properties ( or a better named one ),
 the same that we use for IIS. 
 
 JkMount is not doing anything special - it's the same 
 efect as the properties file we use on IIS. Except that
 properties are easier to generate and will be consistent
 for all servers ( no longer need to generate 3 different 
 styles ). 
 
 Location will be used for performance, it uses
 the apache mapper instead of jk's.
 

+1 for the same reasons as above.


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: Jk2 config

2002-02-23 Thread costinm

On Sat, 23 Feb 2002, Bill Barker wrote:

  Instead of renaming all config directives with Jk2, I would
  like to just _remove_ them all. If the old directives are
  used in a config, mod_jk1 will do what's expected.
 
 From what I've read, I'd still like a 'compatibility mode', to allow for
 webmasters to fine-tune.  The fatal flaw of mod_webapp was to promise more

To fine-tune - exactly the same tunning can be done by using a 
'JkLogLevel DEBUG' or 'JkSet logLevel DEBUG' or 'logLevel=DEBUG' in 
workers.properties ( same for all other options )

My proposal is to stick with the last 2 as 'default/recommended' in jk2.

A compatibility layer will be added when we deprecated jk1, it's 
not difficult ( so old configs will still work ). But at this 
moment is better to have 'old configs' work by using jk1.
Adding a fourth Jk2LogLevel doesn't get us anything.

Keeping all settings in the same map will simplify other servers as 
well, we'll not have to duplicate the code dealing with properties - it'll
be in common.

  Set properties on a webapp level. Will be set
  at Location level. An equivalent setting will be
  in a uri-workers.properties ( or a better named one ),
  the same that we use for IIS.
 
 AFAIK, the Location is unique to Apache and has no equivalent in IIS or
 iPlanet.  Even with Apache it is problematic in the presence of
 VirtualHosts.

Using uri-workers.properties ( which is equivalent with JkMount ) will
work on all servers ( and is easy to generate ). That should be the 
default.

For performance or fine tunning - Location has several benefits,
and allow better integration into apache. And it works fine with
VirtualHosts :-). 

I believe iPlanet and IIS may have some equivalent 'native' mapping
rule - and it would be nice to support it as well, but the 
properties are going to work fine. 


  properties are easier to generate and will be consistent
  for all servers ( no longer need to generate 3 different
  styles ).
 
 
 As much as I hate the IIS syntax, I suppose I'll have to hold my nose and
 vote +1.

If you're thinking about the uri properties file - we can improve this,
and hopefully you'll not have to touch this ever.

  3. JkServlet NAME VALUE
  Set properties per/servlet. I'm not yet finished with
  this one, we may not need it.
 
 
 -1.  This should be handled by Tomcat (via web.xml), not Apache/IIS/iPlanet.

If we use Location style, we'll have a 
Location /examples
   JkWebapp worker ajp13
/Location

Location /examples/servlets/* 
  JkServlet name invoker
/Location

Location /examples/foo/* 
  JkServlet name myServlet
/Location

Both JkWebapp and JkServlet are to be used with 'native' ( and probably
more performant and well 'integrated' ) mode. 


Costin


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]