00:25.01 | nat2610 | I'm trying to install an app on a server tomcat but during the execution, if I click on a link, I have a empty result and have that in my log : http://pastie.org/461912 |
00:26.35 | nat2610 | how can I find out what's missing ... |
00:34.04 | pfn | wrong version of java, apparently |
00:34.17 | pfn | shame on jfreechart for using com.sun.image.codec.jpeg.JPEGImageEncoder |
00:34.36 | pfn | java6 probably works right |
00:34.50 | pfn | as does java 1.5 |
00:42.19 | nat2610 | java version "1.6.0" |
00:42.25 | nat2610 | that the java I have pfn |
00:43.38 | nat2610 | the same war is currenlty working on a server with java version "1.5.0_06 |
00:46.06 | pfn | so use that version |
00:46.36 | nat2610 | isn't it very old ? |
00:46.43 | pfn | blame it on jfreechart |
00:46.47 | pfn | search their forum for an answer |
00:46.50 | pfn | or update jfreechart perhaps |
00:47.05 | pfn | or update your version of java |
00:58.57 | jasonb | nat2610: Are you running Sun Java in both cases? Or, one of them Sun Java, and the other GNU (almost) Java? |
01:00.36 | nat2610 | jasonb, OpenJDK Runtime Environment (build 1.6.0-b09) I guess it's the gnu one ? |
01:00.58 | jasonb | Nope.. But, that's only one of your JVMs. |
01:01.09 | nat2610 | and the other one Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) |
01:01.19 | jasonb | Hotspot? |
01:01.24 | nat2610 | jasonb, yes |
01:01.32 | nat2610 | Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode) |
01:01.51 | jasonb | I would suggest not running OpenJDK then.. I'd suggest downloading Java SE 1.6.0 from java.sun.com and running that instead. |
01:02.16 | jasonb | Even after that, it is possible you could end up with the same error. |
01:02.34 | jasonb | Also, make sure to nuke everything in your tomcat's work/ directory tree. |
01:02.47 | nat2610 | to nuke ? |
01:02.50 | jasonb | And, any SESSIONS.ser file, whenever Tomcat is stopped. |
01:03.02 | jasonb | Yes, recursively remove everything inside of Tomcat's work/ directory. |
01:03.06 | jasonb | (and then restart Tomcat. |
01:03.08 | jasonb | ) |
02:12.19 | *** join/#tomcat benn_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
02:13.27 | *** join/#tomcat karstensrage (n=karstens@c-76-103-32-139.hsd1.ca.comcast.net) |
02:13.47 | benn_d | i'm looking to set up a java environment on my linux/apache server, any particular reason why I should pick glassfish or tomcat over the other? |
02:22.07 | nat2610 | benn_d, no have fun with anything with anything ... choose tomcat if you want to be sure that the system you're using is "bullet proof" in terms of robustness |
02:22.30 | nat2610 | you can probably find lighter, faster, newer ... |
02:22.55 | nat2610 | jasonb, I installed the sun one ... I wasn't more successful :( |
02:38.05 | jasonb | does not believe that benn_d is going to find a faster servlet container. |
02:40.15 | benn_d | i installed tomcat... 5 since it was available via yum install |
02:40.16 | benn_d | heh |
02:48.43 | nat2610 | I tried the lastest of jfree but it's not compatible with the code of the app ... so I'm going to install jdk 1.5 .. |
03:13.30 | *** join/#tomcat roadt (n=roadt@61.191.27.34) |
03:25.20 | *** join/#tomcat dvayanu (n=another@93.104.53.79) |
03:25.59 | *** join/#tomcat barkbarkmeow (n=barkbark@78.53.157.200) |
03:27.17 | pfn | jasonb, anyway, to continue yesterday's opensolaris discussion; regardless of "surviving" opensolaris makes for a very much nicer server platform |
03:46.16 | *** join/#tomcat acidjnk (i=acid@pD950A52E.dip0.t-ipconnect.de) |
04:03.13 | *** join/#tomcat jasonb (n=jasonb@adsl-66-124-73-250.dsl.sntc01.pacbell.net) |
04:13.58 | *** join/#tomcat bhagat (n=bhagat@218.248.24.18) |
05:22.51 | bhagat | channel # does any one have a test web application for 6.0.8 transparent failover cluster ? |
05:41.00 | *** join/#tomcat dvayanu (n=another@host-62-245-224-138.customer.m-online.net) |
05:49.10 | *** join/#tomcat dvayanu (n=another@host-62-245-224-138.customer.m-online.net) |
06:07.09 | *** join/#tomcat shashi (n=shashi@122.181.1.158) |
06:21.24 | *** join/#tomcat dvayanu (n=another@62.245.224.138) |
06:52.12 | *** join/#tomcat kjkoster5489 (n=kjkoster@unl201395.nl.customer.alter.net) |
07:31.18 | *** join/#tomcat cofeineSunshine (n=justinas@kas.tavatievs.eu) |
07:36.19 | *** join/#tomcat cofeineSunshine (n=justinas@kas.tavatievs.eu) |
07:54.34 | *** join/#tomcat talso (i=sixshot@S0106000eb578ccb2.cg.shawcable.net) |
09:19.17 | *** join/#tomcat Vanuatoo (n=Vanuatoo@92.54.192.70) |
09:33.09 | *** join/#tomcat talso (i=sixshot@S0106000eb578ccb2.cg.shawcable.net) |
09:59.50 | *** join/#tomcat mkandora (n=chatzill@195.43.55.75) |
10:01.18 | *** join/#tomcat debug_ (n=chatzill@195.43.55.75) |
10:02.41 | debug_ | hello. Is there any default mechanism inside tomcat to trace any calls / inclusion of a jsp (template)? ( im using jdk 1.5, tomcat 5, linux as os) |
11:16.45 | benn_d | should I be creating a system user for Tomcat? |
11:17.49 | kjkoster5489 | benn_d: absolute necessity? no. Good practice? yes. |
11:19.30 | benn_d | k |
11:29.07 | *** join/#tomcat acidjnk (n=have@pD950A52E.dip0.t-ipconnect.de) |
11:31.15 | *** join/#tomcat BerryMarmalade2 (n=fabio@host241-190-dynamic.51-79-r.retail.telecomitalia.it) |
11:33.42 | *** join/#tomcat acidjnk (i=acid@pD950A52E.dip0.t-ipconnect.de) |
11:48.57 | *** join/#tomcat oxi (n=oxi@213.189.154.84) |
12:21.34 | *** join/#tomcat saftsack (n=oliver@p4FC75F29.dip.t-dialin.net) |
12:22.30 | saftsack | hi, why describe all howtos the importing of a certificate just as adding a crt or pem file to the keystore. what's about the private key? |
12:32.21 | benn_d | i'm a bit confused about what I need to do for virtual hosts w/ mod_jk/apache2... i think i'm about 90% there, but I don't want to make any errors... anyone around that can help? |
12:33.20 | *** join/#tomcat moss23 (n=adam@32.243.broadband5.iol.cz) |
12:34.05 | moss23 | hey, the installation documentation says, tomcat 6 requires jre 5 ? does it mean it is not optimized for jre 6 ? |
12:34.35 | Blippo_ | maybe jre 6 wasn't out when the doc was written ;) |
12:35.26 | Blippo | i've not used Java 1.5 for ages |
12:35.45 | Blippo | thus I've run my tomcat on 1,6 and even 1.7 succesfully |
12:35.47 | kjkoster5489 | moss23: just use 6. |
12:36.02 | kjkoster5489 | It's faster for simple locking scenario's (which is most of the time). |
12:36.11 | moss23 | ok, thank you |
12:37.01 | kjkoster5489 | http://java-monitor.com/forum/showthread.php?t=133 |
12:39.00 | benn_d | for apache with virtual hosts, do I need to manually add a reference to each host in server.xml? |
12:41.07 | moss23 | and the last thing is, if I create "tomcat" user for running the instance, I presume, that entire tomcat, even the webapps content should be owned be tomcat user |
12:41.10 | moss23 | am I right ? |
12:41.54 | kjkoster5489 | moss23: no, read access is required, but write access is only necessary for stuff that is written. |
12:42.30 | moss23 | because I usually had permission issues when the apps were owned by somebody else, and setting group permission is sometimes annoying :) |
12:44.53 | moss23 | jar packages, classes and other libs do not need execution permissions, only read...is there anything what needs execution permission except those scripts for tomcat control ? |
12:45.28 | kjkoster5489 | No. |
12:45.38 | kjkoster5489 | Nothing. Java is just one library. |
12:45.48 | kjkoster5489 | Maybe JNI libs, but even that I don't know. |
12:46.15 | *** join/#tomcat BerryMarmalade21 (n=fabio@host241-190-dynamic.51-79-r.retail.telecomitalia.it) |
12:50.49 | *** join/#tomcat BerryMarmalade2 (n=fabio@host241-190-dynamic.51-79-r.retail.telecomitalia.it) |
12:52.44 | moss23 | ok, so I guess I need to pay attention on setting write permissions to the webapps directories |
12:52.48 | moss23 | thank you |
12:53.10 | kjkoster5489 | np |
12:54.07 | benn_d | so, in my virtual host directives i need to add JkMount entries AND I also have to add <Host>s for each virtualhost into server.xml, is this correct? |
12:59.03 | *** join/#tomcat kervel (n=kervel@58-65-160-128.nayatel.pk) |
12:59.35 | kervel | hello, i'd like to have the "/" in my tomcat passed to some servlet that does url routing ... but i do not want to have to deal with serving static files (from WebRoot) |
12:59.41 | kervel | is a filter a good idea in that case ? |
13:00.29 | kervel | or is there something else ? something i can use to make url -> servlet mapping controlled by my application |
13:01.23 | kervel | i want to do something like "if (i_can_handle(url)) { handle(url); } else { do the usual stuff like finding servlet or finding WebRoot file or finding jsp file } |
13:01.55 | kervel | or is this question offtopic here ? |
13:42.12 | kervel | to answer my own question: seems a filter will do the job |
13:50.09 | kervel | hmm, i try to make a servlet filter and now tomcat say "SEVERE: ERROR FilterStart" |
13:50.17 | kervel | and no exception or nothing but my application doesn't deploy anymore |
13:55.53 | *** join/#tomcat MHSL (i=Linux@cm18.eta6.maxonline.com.sg) |
13:55.53 | *** join/#tomcat BerryMarmalade2 (n=fabio@host241-190-dynamic.51-79-r.retail.telecomitalia.it) |
14:00.12 | kjkoster5489 | kervel: from what you posted it sounds like you are trying to take over Tomcat's responsibilites of finding and running the right JSP. |
14:00.21 | kjkoster5489 | That is usually a terrible idea. |
14:00.51 | kjkoster5489 | It breaks POLA for new developers. |
14:10.34 | *** join/#tomcat randrewj (n=raj-user@user-160uub9.cable.mindspring.com) |
14:21.43 | benn_d | i'm getting out of memory issues in other parts of my system (e.g., I can't run the Grails ant build.xml)... i have 1 gig of free ram, but not swap... is there a way i can reasonably decrease tomcat's memory consumption if I know it's not going to be heavily used |
14:28.22 | *** join/#tomcat BerryMarmalade21 (n=fabio@host241-190-dynamic.51-79-r.retail.telecomitalia.it) |
14:32.45 | *** part/#tomcat trifler (i=trifler@farva.bsnet.se) |
14:41.22 | *** join/#tomcat rightsprocket (n=mrray@68.42.56.51) |
14:41.40 | benn_d | yes? no? maybe? |
15:02.10 | MHSL | cant really decrease, but you can limit the maximum memory usage |
15:20.06 | *** join/#tomcat benn_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
15:32.20 | *** join/#tomcat acarbs12 (n=acarbone@64.206.24.18) |
15:32.39 | *** join/#tomcat Vanuatoo (n=Vanuatoo@92.54.192.70) |
15:34.27 | moss23 | hey, are there better ways of starting new instances of tomcat than running it with startup.sh with modified CATALINA_BASE variable ? |
15:35.15 | oxi | hi |
15:35.23 | oxi | does tomcat not allow duplicate usernames? |
15:35.42 | oxi | <role rolename="account001"/> |
15:36.15 | *** join/#tomcat freezed (n=freezed@nbo79-1-82-244-137-171.fbx.proxad.net) |
15:36.19 | oxi | <user username="someuser" password="password1" roles="account001"/> |
15:36.26 | freezed | hello |
15:36.32 | oxi | <user username="someuser" password="password2" roles="account001"/> |
15:36.44 | oxi | argh, I meant: |
15:36.53 | oxi | <role rolename="account001"/> |
15:36.54 | moss23 | It though that I could copy catalina.sh to all bases and each of them modify with "export CATALINA_BASE ..... |
15:36.56 | oxi | <role rolename="account002"/> |
15:37.04 | oxi | <user username="someuser" password="password1" roles="account001"/> |
15:37.15 | oxi | <user username="someuser" password="password2" roles="account002"/> |
15:37.23 | oxi | am I allowed to do that? |
15:37.38 | oxi | so, I'm using the same username for different roles |
15:38.04 | freezed | Strange deploy : when I deploy my app (meteo.war) from the manager interface, it tells me it is OK, but the application is never shown in the list and I get a 403 error |
15:38.15 | freezed | Did I forget something ? |
15:38.30 | oxi | moss23: depends what you want to do |
15:38.49 | oxi | moss23: you could also start tomcat programmatically |
15:39.58 | oxi | though I guess using startup.sh should be fine |
15:40.18 | oxi | freezed: check the logs |
15:40.36 | oxi | freezed: and check if you set up your authentication right |
15:41.22 | moss23 | I'm installing apache ofbiz, and it provides me with modified catalina.sh to use for run ofbiz on tomcat....I don't know if I can put the catalina.sh to new tomcat instance and run it from there, from CATALINA_BASE ....don't know if the catalina.sh script is meant to be run only from CATALINA_HOME |
15:42.16 | moss23 | but I guess that it uses only environment variables and not any position data |
15:42.36 | moss23 | like cd ../conf, you know :) |
15:43.45 | oxi | I have no idea about ofbiz |
15:44.37 | oxi | I think it only uses environment variables |
15:44.51 | oxi | I've done the thing you're planning |
15:44.54 | oxi | but I forgot how |
15:45.15 | oxi | I just remeber that I kept the bin centralized |
15:45.33 | oxi | and most of the rest was per tomcat application instance |
15:45.53 | oxi | does anyone know if the username in tomcat-users has to be unique? |
15:46.18 | oxi | unique in terms of xml attributes in tomcat-users |
15:47.29 | moss23 | oxi, so if there is nothing in instance/conf, it reads the home/conf/* ......if there is some stuff in instance/conf, it prefers these |
15:47.44 | oxi | not really |
15:48.06 | oxi | I remeber setting environment variables for each tomcat instance to point it to the right conf dirs |
15:48.33 | oxi | I think it picks them relative to some kind of environment variable |
15:48.41 | moss23 | yes, that's right |
15:53.35 | *** join/#tomcat Mr_Grim (n=foo@207.219.39.72) |
15:56.01 | freezed | oxi: Strange error in the logs : Caused by: java.lang.IllegalArgumentException: <url-pattern> ... |
15:56.20 | oxi | hmm |
15:56.41 | oxi | check your web.xml charset encoding |
15:56.51 | oxi | check for weird looking arguments |
15:56.52 | oxi | :-) |
16:02.55 | freezed | oxi: thanks, I forgot the / caracter. |
16:03.04 | oxi | ;-) |
16:03.11 | freezed | oxi: but now, new strange error : java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class |
16:03.34 | oxi | hmm |
16:03.43 | oxi | using wrong java version? |
16:03.49 | oxi | just a guess |
16:04.05 | oxi | tried jdk6? |
16:06.04 | *** join/#tomcat saftsack_ (n=oliver@p4FC758E6.dip.t-dialin.net) |
16:11.28 | freezed | oxi: you're right, I change version a few days ago to use red5. Now it works !!! |
16:11.40 | oxi | cool |
16:11.44 | freezed | oxi: Thanks a lot for your help |
16:11.54 | oxi | np |
16:11.59 | oxi | well I didn't do anyting ;-) |
16:12.34 | freezed | but you had got the good ideas ... :> |
16:12.36 | *** join/#tomcat puskar (n=puskar@PUSKAR.ES.ITS.NYU.EDU) |
16:22.41 | freezed | oxi: just another simple question ... what is the best way to access a mysql database from my servlet (I already create a CMysql.java class which works well) |
16:23.12 | oxi | freezed: that's a world of it's own |
16:23.25 | oxi | there are several ways to access your database |
16:23.39 | oxi | some use a library like iBatis or Spring |
16:23.47 | oxi | others do the connection directly in the servlet |
16:24.05 | oxi | you may also create some kind of application context listener |
16:24.13 | oxi | I'm using the listener thing |
16:24.39 | oxi | I can't tell you what's the best way |
16:24.49 | freezed | ok directly in the servlet sounds good to me (it is a little school project) |
16:24.55 | oxi | I guess that depends on what you are trying to achieve or what you are doing |
16:25.10 | freezed | oxi: what do you call a context listener ? |
16:25.14 | oxi | yeah, then I guess there's nothing wrong in doing it directly in the servlet |
16:25.33 | oxi | as you won't be running into performance problems at that point |
16:25.58 | oxi | though you must be aware that you have no control over the lifecycle of a servlet in general |
16:26.11 | oxi | it's the purpose of the container to handle it's lifecycle |
16:26.23 | oxi | further you should not try to reinvent any pooling |
16:26.29 | *** part/#tomcat ben_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
16:26.46 | oxi | freezed: I'd forget about the listener, if it's just a little school project |
16:27.03 | *** join/#tomcat acarbs121 (n=acarbone@173.9.89.1) |
16:27.06 | oxi | it's much more important that you close cursors and connections properly |
16:27.29 | oxi | the connection might be closed automatically by the servlet lifecycle |
16:27.53 | oxi | but the cursors or statements most likely won't be closed automatically |
16:28.09 | oxi | make sure you close all of them properly and you will be fine |
16:28.16 | freezed | oxi: thanks again, you should clone yourself and join other channels ... :) |
16:28.23 | oxi | ;-) |
16:41.50 | oxi | can anyone please tell me if usernames must be unique? |
16:42.12 | oxi | can I have the same username in two different roles? |
16:42.22 | oxi | <role rolename="account001"/> |
16:42.48 | oxi | <role rolename="account002"/> |
16:42.49 | oxi | <user username="someuser" password="password1" roles="account001"/> |
16:42.49 | oxi | <user username="someuser" password="password2" roles="account002"/> |
16:43.05 | oxi | is that allowed or not? |
16:43.18 | *** part/#tomcat vinse (n=vinse_@208.253.223.146) |
16:43.29 | pfn | would assume no |
16:44.08 | oxi | pfn: you think that I'm not allowed to do that? |
16:44.56 | oxi | because I ran into trouble |
16:45.03 | oxi | but I see no error message |
16:47.11 | oxi | I guess that this is only possible with a custom authentication |
16:48.10 | *** join/#tomcat jasonb (n=jasonb@75-144-23-117-SFBACA.hfc.comcastbusiness.net) |
16:51.35 | jasonb | Just in case anyone has dbcp connection pool timeout problems: |
16:51.37 | jasonb | http://juststuffreally.blogspot.com/2007/10/broken-pipes-with-tomcat-and-dbcp.html |
16:54.39 | *** join/#tomcat vinse (n=vinse_@208.253.223.146) |
17:03.58 | freezed | oxi: have a good day or night or whatever you want, thank you and good bye |
17:04.28 | oxi | jasonb: thanks |
17:10.19 | jasonb | oxi: You're welcome. I sure wish I knew about that page earlier. |
17:30.19 | pfn | jasonb, heh, that should be obvious... but wouldn't a connection validation work? |
17:31.26 | jasonb | pfn: There are apparently some weird situations where the connection ends up closed. |
17:31.42 | pfn | jasonb, a validation query should catch that before it hands the connection out |
17:32.00 | pfn | of course, if you have application code that hangs onto a connection for 8 hours, I would say you've got a problem |
17:32.04 | jasonb | pfn: Seems like it should. |
17:33.12 | jasonb | pfn: Nah, the connections die while they're sitting in the pool. You're right that a validation query should catch those.. there are still some situations where it's easy to misconfigure and end up with situations where the pool hands out broken connections. |
17:33.26 | pfn | which is why you need the validation query |
17:34.01 | *** join/#tomcat BerryMarmalade2 (n=fabio@host241-190-dynamic.51-79-r.retail.telecomitalia.it) |
17:34.27 | pfn | of course, a validation query can be "expensive" if you're handing out hundreds of connections per second |
17:35.04 | *** join/#tomcat fommil (n=samuel@host-80-192-121-116.static.telewest.net) |
17:35.15 | jasonb | pfn: Exactly. |
17:35.35 | pfn | but if you're handing out hundreds of connections per second, this timeout problem isn't an issue ;-) |
17:35.38 | jasonb | pfn: This page shows a more proactive "toss it before it can die" strategy. |
17:35.48 | pfn | I suppose that'll work |
17:36.04 | fommil | is it possible to specify a different login-config for different security-constraint? |
17:36.25 | jasonb | is looking forward to using Filip's new connection pool implementation instead of commons-dbcp. |
17:36.39 | jasonb | fommil: Sure. |
17:36.58 | fommil | jasonb: know of any examples? |
17:37.16 | fommil | jasonb: i thought it could only go in at the web-app level |
17:37.36 | fommil | jasonb: which essentially means "one authentication method for all security-constraint"s |
17:38.02 | jasonb | Nah, you can have many security constraints mapped to different paths/patterns, and each one can be configured differently. |
17:39.13 | fommil | jasonb: but, login-config is usually defined outside the security-constraint definition. Should I be able to just throw a login-config inside a security-constraint and have that override? So, for example, one security-constraint could be set up for BASIC auth, whereas the rest of the web-app has to use form? |
17:42.42 | pfn | login-config does not appear to support multiple settings |
17:43.22 | jasonb | fommil: in <login-config> you name a <realm-name>. You can have multiple realms inside a single webapp. |
17:43.42 | jasonb | (I'm pretty sure) |
17:43.56 | pfn | <login-config> is unbounded, but there's no way to map a security-constraint to a login-config |
17:44.36 | fommil | jasonb: pfn i'm now confused... so what is possible? |
17:44.52 | pfn | fommil, basically, it appears what you are asking is not doable |
17:45.32 | fommil | pfn: jasonb seems to think it's possible... so I'm still confused |
17:46.26 | fommil | my goal is to have /* authenticated by FORM, except /resources/* which are authenticated using BASIC. How is that best achieved using standard Tomcat (i.e. no Spring) |
17:46.42 | pfn | it does not appear possible |
17:47.00 | fommil | jasonb: do you agree with pfn? |
17:47.40 | jasonb | I am having a display issue right now that is preventing me from opening the spec to find out. :) |
17:48.27 | jasonb | But, I seem to remember that any webapp can have multiple realms configured. That's from memory, though, I'm not quoting the spec.. yet. |
17:48.30 | fommil | it's a real bummer if this is not possible. Means modern websites need to be either broken across 2 webapps or not use J2EE security |
17:48.48 | fommil | jasonb: and it's possible to tell the security constraint which realm to use? |
17:48.51 | pfn | I took a look at the xsd, there's no mapping |
17:50.12 | fommil | dang |
17:52.51 | fommil | jasonb: don't worry about it... i gotta run now. I'll think about it some other time. That's a real pain though, I wanted to use BASIC for the REST API and FORM for user login. Forcing machines to use FORM login is always a pain. |
18:09.59 | jasonb | pfn: It appears you're right.. from inside web.xml, you can only specify one. It's in Tomcat's server.xml where you can specify multiple <Realm>s.. But then since each webapp could only declare one login-config, then only one realm implementation could be used by the entire webapp. Sad. |
18:10.22 | pfn | indeedd |
18:10.41 | jasonb | This is one feature that Apache httpd got right.. you can have as many as you want, mapped to different patterns. |
18:22.25 | pfn | well, httpd is conceptually an app server |
18:23.11 | jasonb | The way I see it, it is just as much of an app server as anything, just uses different technologies. |
18:23.23 | pfn | that's not my point |
18:23.28 | pfn | the scope of httpd.conf is at a global level |
18:23.30 | pfn | akin to server.xml |
18:23.40 | pfn | each <Directory> or <Location> is the equivalent of a webapp |
18:23.48 | jasonb | Yes. |
18:24.16 | jasonb | They're not actually trying to delineate "webapps" at all. |
18:25.31 | jasonb | so all the configuration, even at the granularity of a single directory, is just as top-level as Tomcat's server.xml <Context>. |
18:28.20 | *** join/#tomcat acidjnk (i=acid@pD950A52E.dip0.t-ipconnect.de) |
18:31.55 | kervel | regarding kjkoster's remark about changing the way how tomcat finds jsp's / servlets : we are under huge pressure by SEO guys to make "nice" urls |
18:32.30 | kervel | and we're in a CMS .. previously, all pages were served by the "page" servlet ... but it has to go, or at least it needs to be deployed on "/" without harming other servlets |
18:32.36 | kervel | and it seems that a filter is perfect for that goal |
18:32.52 | jasonb | Yup. |
18:33.37 | kervel | and i fully agree that making a complex routing instead of just "the jsps are in the webroot and the servlets are in web.xml" makes life difficult for developers ... but i see no other option |
18:34.29 | kervel | .. apart from using mod_rewrite which - i think - is awful |
18:35.39 | jasonb | There's also the UrlRewriteFilter. Have you seen that yet? |
18:35.47 | jasonb | ibot: url-rewrite-filter |
18:36.18 | jasonb | ibot: url-rewrite-filter is http://tuckey.org/urlrewrite/ |
18:36.19 | ibot | okay, jasonb |
18:36.46 | jasonb | ibot: commons-dbcp-fix is http://juststuffreally.blogspot.com/2007/10/broken-pipes-with-tomcat-and-dbcp.html |
18:36.47 | ibot | okay, jasonb |
18:39.43 | kervel | let me check that one |
18:43.59 | kervel | jasonb i'm not really going to use it now, but i didn't know about it and it seems very interesting (especially the fact that you can do flexible routing of urls -> method invocation) |
18:44.04 | kervel | thanks for the link |
18:44.16 | pfn | jsp should be "complex" routed |
18:44.29 | pfn | jsp should never be an http end point |
18:45.36 | kervel | pfn also true ... but when you think in terms of preparing for an opensource release, being as "normal" as possible also has its advantages .. (not that we use any jsp, we only use velocity) |
18:45.53 | pfn | that isn't being "normal" |
18:46.06 | pfn | allowing jsp as an endpoint has been a bad practice since the beginning of time |
18:46.10 | kervel | pfn well i mean the less "magic" the better |
18:46.45 | kervel | but i should not have mentioned jsp's maybe :) |
18:47.50 | kervel | btw, this "we need tidy urls" hype is creating much headache for us .. especially when we have mixed-platform projects (eg wordpress + java cms) |
18:53.41 | *** join/#tomcat FayAtWork (n=fayola@TOROON48-1177990946.sdsl.bell.ca) |
18:55.11 | pfn | representative urls are great |
18:55.25 | pfn | urls that expose inner workings, such as ending in technology extensions are not |
19:04.52 | *** join/#tomcat yassine (n=yassine@unaffiliated/yassine) |
19:15.25 | *** join/#tomcat kjkoster5489 (n=kjkoster@kjkoster.org) |
19:16.45 | *** join/#tomcat Guest98829 (n=opera@h55eb1f23.selukra.dyn.perspektivbredband.net) |
19:16.52 | Guest98829 | Hi folks! |
19:17.01 | kjkoster5489 | hi |
19:17.21 | Guest98829 | Can someone please help me set up Apache httpd server to serve my static content only.. ? |
19:17.58 | Guest98829 | I have heard terms like Mod/JK or MOD-AJP and virtual hosts, proxy and etc |
19:18.16 | kjkoster5489 | Dor httpd, check #apache. |
19:21.00 | Guest98829 | they sent me here :P |
19:21.29 | pfn | why do you want to setup httpd to serve static content only |
19:23.12 | Guest98829 | because I am using a different server from my application and it is performing bad with the images.. pictures gets stuck sometimes and never loads |
19:23.38 | pfn | so copy the static content into your httpd directory |
19:23.43 | pfn | and if you're using httpd to proxy |
19:23.52 | pfn | don't proxy the content by specifying the appropriate directives |
19:24.01 | pfn | if you're using tomcat directly |
19:24.01 | Guest98829 | slow down please :) |
19:24.07 | pfn | well, you shouldn't need to put a proxy in front |
19:24.17 | pfn | if you're getting slow performance on static content, it is another problem |
19:24.19 | pfn | and httpd won't solve it |
19:24.25 | Guest98829 | yes.. I have the static content some where else.. in a different drive |
19:25.22 | Guest98829 | what do you think could be the cause to the bad performance then ? I have a router in between.. is it possible the router is causing this ? these errors seems to happen on higher user load |
19:25.37 | Guest98829 | and I am using Jetty and not Tomcat :O |
19:26.09 | *** join/#tomcat oxi (n=oxi@dyn.144-85-174-230.dsl.vtx.ch) |
19:27.31 | pfn | determine why it's hanging |
19:27.35 | pfn | perhaps you're running out of threads |
19:32.22 | Guest98829 | no.. its not hanging.. its just the pictures that don't want to load |
19:32.54 | pfn | "don't want to load" |
19:32.57 | pfn | that means hanging to me |
19:33.04 | *** join/#tomcat dvayanu (n=another@ppp-93-104-53-79.dynamic.mnet-online.de) |
19:46.28 | Guest98829 | ook.. but the code stuff still wokrs |
19:47.05 | Guest98829 | how do I assign more threads then? |
19:49.18 | pfn | ask #jetty |
19:50.45 | Guest98829 | hmm.. yeah.. very dead thougg :( |
19:51.10 | *** join/#tomcat oxi (n=oxi@dyn.144-85-174-230.dsl.vtx.ch) |
19:51.45 | *** join/#tomcat oxi (n=oxi@dyn.144-85-174-230.dsl.vtx.ch) |
19:56.10 | *** part/#tomcat randrewj (n=raj-user@user-160uub9.cable.mindspring.com) |
19:59.09 | Guest98829 | pfn: I don't think its a thread thing.. I rarely hit threads more than like 35 and lowest I get is around 30 (jConsole) |
19:59.35 | pfn | shrugs |
19:59.43 | pfn | I've never heard of any performance issue with static content on jetty |
20:00.25 | Guest98829 | ok.. could it be that maxIdle or something in that area ? or is that just for the DB ? |
20:01.02 | Guest98829 | at least the image should load, but it just hangs.. is could be some connection pool blocking it, or putting it on wait |
20:01.44 | pfn | how are you serving the image |
20:02.00 | Guest98829 | from the filesystem |
20:02.10 | pfn | using jetty's default handler? your own? |
20:03.07 | Guest98829 | not sure .. I am using a plugin, which allows you to serve images outside your app folder.. on some other drive.. this could be a candidate to the problems |
20:03.20 | Guest98829 | the router could be too.. not sure.. |
20:04.15 | Guest98829 | is there any safe port that is widely accepted other than port 80 ? I could run apache on that, and let my images point to that one.. good strategy? |
20:04.41 | pfn | that's pretty crappy |
20:05.22 | Guest98829 | hehe |
20:10.48 | jasonb | kervel: You're welcome. UrlRewriteFilter is much like mod_rewrite for Tomcat, but sometimes that's a good solution (for unifying lots of already-implemented stuff under a new set of URI mappings, for example). |
20:20.53 | *** join/#tomcat benn_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
20:33.08 | Guest98829 | jasonb: You talkin' to me? |
20:34.54 | jasonb | Guest98829: Not really. :) |
20:39.55 | *** join/#tomcat Blippo_ (n=blippo@c83-255-3-72.bredband.comhem.se) |
20:43.34 | *** join/#tomcat relachs (n=relachs@e176248099.adsl.alicedsl.de) |
20:46.54 | *** part/#tomcat benn_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
20:50.54 | dvayanu | hi jasonb |
20:51.23 | jasonb | hi dvayanu! |
20:51.36 | dvayanu | hows life |
20:51.46 | jasonb | Things are good. |
20:52.10 | dvayanu | btw, do you use ivy? |
20:54.45 | jasonb | Sorry, got interrupted.. I don't use ivy yet, because so far I don't feel I need it. |
20:54.49 | *** join/#tomcat mib_w4vhly (i=9741bcde@gateway/web/ajax/mibbit.com/x-7ee7f8e07f6b2c11) |
20:54.54 | *** part/#tomcat mib_w4vhly (i=9741bcde@gateway/web/ajax/mibbit.com/x-7ee7f8e07f6b2c11) |
20:55.12 | dvayanu | <PROTECTED> |
20:55.14 | dvayanu | just great |
20:55.15 | dvayanu | :-) |
20:55.19 | jasonb | But, also, if I already knew how to use ivy (I don't), then I might hook it into my builds to just have that stuff taken care of for me. |
20:55.52 | jasonb | The disadvantage is: in order to build something you *must* be connected to the net. Now, mostly we're all connected to the net these days. :) |
20:56.05 | dvayanu | err, no, you dont |
20:56.13 | jasonb | no? |
20:56.23 | dvayanu | i'm using ivy primary to manage dependencies in own projects |
20:56.29 | jasonb | Ahh. Okay. |
20:56.45 | jasonb | I thought it was only for managing other OSS "third-party" kinds of components. |
20:56.58 | dvayanu | no, i'd rather not use this feature |
20:57.04 | jasonb | Then maybe ivy is a decent replacement for a bunch of my own ant code. |
20:57.30 | jasonb | I tend to use a combination of my own ant code plus ant4eclipse to perform dependency resolution. |
20:57.42 | dvayanu | i dont know ant4eclipse |
20:57.52 | dvayanu | but with ivy you can setup multiple cascading repositories |
20:58.08 | dvayanu | private - shared - public (add more) |
20:58.14 | jasonb | ant4eclipse is great. Very small and compact, and works excellently for declaring dependencies and having the dependencies ordered. |
20:58.39 | jasonb | Hmm, ivy might be a better implementation, though I'm guessing it's larger than ant4eclipse. |
20:58.54 | dvayanu | well, you add a jar |
20:59.02 | jasonb | Also, ant4eclipse integrates with eclipse .project and .classpath files. |
20:59.03 | dvayanu | and two xml files |
20:59.21 | jasonb | So, each project can be an eclipse project, and ant4eclipse can hand the build dependency list to ant. |
20:59.30 | dvayanu | i see |
20:59.31 | jasonb | So, you can have both ant and eclipse, and it all works together nicely. |
20:59.44 | dvayanu | it also works with ivy |
20:59.49 | jasonb | What does? |
20:59.55 | dvayanu | without even eclipse knowning anythng about it |
20:59.58 | dvayanu | eclipse with ivy |
21:00.08 | jasonb | ivy reads eclipse .project and .classpath files? |
21:00.10 | yassine | wonders: an other maven clone is making some noise here |
21:00.21 | dvayanu | no it doesn't |
21:00.28 | dvayanu | but since you have a build.xml anyway |
21:00.30 | dvayanu | :-) |
21:00.31 | jasonb | yassine: Does maven now read eclipse .project and .classpath files? |
21:00.42 | dvayanu | my project build.xml consists of exactly 1 line |
21:00.44 | jasonb | dvayanu: I don't think I understand. |
21:01.02 | yassine | jasonb, it does creates them since ages |
21:01.05 | dvayanu | <project name="ano-net" default="dist" basedir="."> |
21:01.06 | dvayanu | <import file="../build/basic-project.xml"/> |
21:01.08 | jasonb | dvayanu: If the developers on the team *only* want to track/maintain build dependencies in eclipse, then ivy won't work, right? |
21:01.20 | jasonb | yassine: creates them or reads them? |
21:01.22 | dvayanu | jasonb: probably not |
21:01.39 | yassine | jasonb, creates * |
21:01.44 | kjkoster5489 | jasonb: Most teams I've been in have a mix of dev tools. |
21:01.46 | dvayanu | but it works nice with ant and therefore with hudson |
21:01.54 | kjkoster5489 | Eclipse/Netbeans/InteliJ |
21:02.02 | jasonb | yassine: So if I already have my .project and .classpath files for my projects, then maven can't just read those? That would be very bad. |
21:02.17 | dvayanu | maven isn't compatible with eclipse |
21:02.26 | jasonb | dvayanu: ant4eclipse works great with both eclipse and ant, bridging the gap seamlessly. |
21:02.46 | dvayanu | jasonb: well, what does it do other than running an ant task from eclipse? |
21:02.48 | yassine | jasonb, maven assumes its the master over dependencies of your projekt |
21:03.09 | yassine | that's why its repositories are well organized to support that |
21:03.31 | dvayanu | ah i see |
21:03.42 | dvayanu | hmm, it seems like a philosophy question |
21:03.59 | yassine | its even very organized that even some "free style tools" from france is now considering using it for doing the same for ant :) |
21:04.00 | dvayanu | i think ant4eclipse is for people who think eclipse-centric |
21:04.04 | jasonb | dvayanu: What I'm referring to is a jar that implements ant tasks that one can use from an ant build file to generate an ordered build dependency list so ant can build the whole graph of projects in the right order, not missing any dependencies. So, then ant ends up just reading eclipse project files instead of having to have two sets of project dependency files. |
21:04.33 | *** join/#tomcat benn_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
21:04.53 | dvayanu | this just delays the problem |
21:05.11 | benn_d | so, i'm getting an error when trying to deploy a war that there's not META-INF/MANIFEST.MF (No such file or directory) |
21:05.17 | jasonb | yassine: Yeah, I don't like that maven assumption because it is a bad assumption. Developers want to use eclipse (do not ask me why!) and so they will always just manage all the build dependencies inside eclipse only. Then, when you want to build via ant, ant has to read the eclipse project files, period. |
21:05.27 | benn_d | i just decompressed the file myself and it is there |
21:06.03 | dvayanu | jasonb: how are you upgrading the log4j version in all own projects? |
21:06.59 | jasonb | dvayanu: We only upgrade jars when we have to, really.. but if we want to, we have to figure out which version will work with the other jars we have, so we have to try some versions "by hand".. we just replace the jar or jars, and rebuild and then put it through some QA. |
21:07.18 | dvayanu | jasonb: thats where ivy helps nicely |
21:07.25 | dvayanu | it only shows you what depends on what |
21:07.34 | jasonb | dvayanu: But, replacing the jar does mean that whoever does that goes into eclipse and changes the build dependencies.. again, that's saved in the .classpath file. |
21:07.34 | dvayanu | and whether you have circular dependencies |
21:07.41 | dvayanu | which is a nightmare |
21:07.59 | jasonb | dvayanu: How would ivy know which version of log4j our webapp depends on? |
21:08.04 | dvayanu | no, in ivy case it just means copying a new version into the repository |
21:08.24 | dvayanu | jasonb: you have a ivy.xml file where it is written |
21:08.29 | yassine | jasonb, ant would's be able to read those files if they were not standarized and mvn is doing the same for build processes ( mvn even encourages eclipse usage its not interfering with it at any point) but it keeps what it can do best in its hand (dependency management) |
21:08.31 | jasonb | circular dependencies are bad, yes. ant4eclipse finds those though. |
21:08.34 | dvayanu | usually you just say something like "stable" or "latest" |
21:08.44 | dvayanu | and replace the jar under this label |
21:09.00 | dvayanu | but you can tag your repository (in svn) so you can retrieve an old version |
21:09.04 | dvayanu | for an old build for example |
21:10.03 | jasonb | yassine: My point is that the developers flatly refuse to maintain build dependencies anywhere but in eclipse, and nobody where I work would accept having *two* sets of build dependency information stored in two separate places and having to maintain both. |
21:10.38 | yassine | jasonb, im not a mvn fanatic nor am i an ivy fan i use both i only want to make clear that mvn is the pioneer in this area |
21:10.40 | dvayanu | well thats probably true for "small" teams |
21:11.04 | dvayanu | as soon as you start using CI you need a dependency maintainer outside of eclipse |
21:11.11 | jasonb | yassine: Even if it is (it might be), developers still refuse to use it in favor of using eclipse instead. |
21:11.11 | yassine | jasonb, you can still use eclipse do manage your deps m2eclipse is doing so even with a wizard ... |
21:11.25 | jasonb | dvayanu: CI? |
21:11.32 | dvayanu | continuous integration |
21:11.47 | dvayanu | but seriously, i would never want to maintain dependencies in eclipse |
21:11.53 | dvayanu | i just everything in lib into .classpath |
21:12.05 | dvayanu | i dont care who puts it in there :-) |
21:12.07 | jasonb | dvayanu: Okay, and ant4eclipse is a dependency maintainer outside of eclipse, and can just read the eclipse project files to do its work. |
21:12.37 | dvayanu | but eclipse is really bad at maintaining dependencies |
21:12.56 | dvayanu | it doesn't see a dependency between code and artifact |
21:13.06 | dvayanu | so if you have xyz.jar and xyz project |
21:13.16 | dvayanu | and you make a search for references in xyz project |
21:13.19 | jasonb | dvayanu: Our software has a more complicated graph, apparently, and we really can easily track/maintain dependencies in eclipse.. also in my previous job, where we had a much larger project graph, we did that, with ant4eclipse, and it all worked extremely well. |
21:13.37 | jasonb | dvayanu: There's that 'artifact' word again.. :) |
21:13.45 | dvayanu | it won't show anything in foo project if foo project uses xyz.jar and not xyz project |
21:14.03 | *** part/#tomcat benn_d (n=benn_d@c-67-176-147-20.hsd1.in.comcast.net) |
21:14.12 | jasonb | dvayanu: Yes, project boundaries have a meaning. |
21:14.42 | dvayanu | jasonb: and how do you ensure that the proper jar lands in tomcat? |
21:14.53 | yassine | jasonb, no doubt both approaches works if one know how to brings them to, but for those who do not want to spend the time on dependency management and instead use the time to solve problem there is maven :) |
21:14.55 | jasonb | yassine: Is m2eclipse a way for maven to read eclipse project files? |
21:15.14 | yassine | jasonb, its an eclipse plugin |
21:15.17 | jasonb | dvayanu: In WEB-INF/lib? |
21:15.40 | jasonb | yassine: Does that replicate eclipse build dependency information into other files that maven can read? |
21:15.57 | jasonb | yassine: It would need to automatically keep that up to date to be as good as ant4eclipse. |
21:15.59 | dvayanu | but how you ensure that if you added a class into xyz project the xyz.jar is also built? |
21:16.07 | yassine | its can even export your project into an ant based system |
21:17.08 | jasonb | dvayanu: The ant file loops through the ordered dep list from ant4eclipse, and ensures that each of those projects are fully built from source, one at a time. |
21:18.21 | jasonb | yassine: The problem I've seen with many of the "converter to ant" type tools is: it writes really horrible ant XML that is not human readable nor human modifiable. So, if there is a problem with it, you spend lots of time tearing your hair out. |
21:18.43 | dvayanu | jasonb: so each time you say ant.build it resolve all dependencies? |
21:18.52 | dvayanu | resolves |
21:21.06 | dvayanu | http://ant4eclipse.sourceforge.net/ant-for-eclipse-example.html <-- this example file looks so terrible unreadable :-) |
21:21.17 | dvayanu | you want to see my build.file ? |
21:21.24 | jasonb | dvayanu: ant build. Yes, or just "ant" if the default target is "build". It would, right there, generate the ordered dependency list from the eclipse project file set for all eclipse projects, and then ant would loop through the ordered list and build the projects in that order.. done. |
21:21.41 | jasonb | dvayanu: I didn't say to use any of their example build files. :) |
21:21.53 | jasonb | dvayanu: I said their tasks do what I've described. |
21:22.03 | dvayanu | http://www.pastebin.ca/1407839 |
21:23.10 | dvayanu | and this is the ivy file for the same project |
21:23.10 | dvayanu | http://www.pastebin.ca/1407841 |
21:24.17 | dvayanu | the above build file checks out the project, build it, runs all junit tests, runs checkstyle, publishesh the results in nightly builds, generates javadocs and publishes them and publishes artifacts (yes jars.-) |
21:25.32 | pfn | where was that ant visualizer |
21:25.35 | pfn | that looked very cool |
21:25.40 | jasonb | If nobody I worked with wanted to use eclipse, I could get away with not integrating with eclipse. That's not the case though. |
21:26.02 | jasonb | pfn: There was a dbviz thing for ant I think. |
21:26.39 | *** join/#tomcat trifon (n=chatzill@78.90.231.138) |
21:26.47 | pfn | it was pretty cool, conceptually, takes all the ant tasks and runs it through a virtual sandbox |
21:27.07 | pfn | and you can step through and see what it does and what your files look like at a point in time |
21:27.21 | jasonb | hmm, that's a different one than I've seen then. |
21:28.03 | dvayanu | jasonb: do you deploy with ant too? |
21:28.56 | jasonb | dvayanu: My ant build files generate RPM packages, which get installed. |
21:29.11 | dvayanu | ah i see |
21:29.13 | dvayanu | btw, |
21:29.20 | jasonb | dvayanu: For our webapp itself, that's not an RPM package yet.. and that's deployed as an unpacked webapp dir. |
21:29.23 | dvayanu | how do you rebuild a customer version? |
21:29.37 | dvayanu | if a customer reports a bug with version 1.5.16 |
21:29.40 | jasonb | We have customer skins.. the webapp itself supports skinning. |
21:29.58 | dvayanu | i assume different customers have different deployed versions |
21:30.36 | jasonb | They do. |
21:30.42 | *** join/#tomcat acidjnk (n=have@pD950A52E.dip0.t-ipconnect.de) |
21:30.48 | dvayanu | and can you rebuild a version? |
21:30.53 | dvayanu | for a bugfix or something |
21:33.34 | jasonb | We upgrade the sites when we need to in order to fix some bugs. When we do that, we hope to upgrade the customer to the latest stable release that has the fix in it. So, we just rebuild that tag, and deploy it. |
21:34.03 | dvayanu | that sounds harsh, but you basically can't rebuild a version :-) |
21:34.32 | jasonb | I can rebuild any version (svn revision) I want. But, upgrading a production site with an unstable rev is a bad idea. |
21:35.10 | dvayanu | but how do you know which version used which jar? |
21:35.30 | pfn | check them in |
21:36.12 | jasonb | Yeah, subversion knows. |
21:37.13 | dvayanu | and you are sure that all subprojects are updated and use the same versions? you branch/tag your complete subversion for each release? |
21:38.18 | jasonb | dvayanu: In subversion, branches and tags are "cheap".. it is very easy to branch or tag the entire repository, and that uses only a handful of bytes of storage on the svn server. This is general svn best practices stuff. |
21:39.25 | jasonb | dvayanu: As for keeping things svn updated.. if one is building the software to deploy it (think "official build") then it is certainly expected that their svn working copy is all from one svn rev. Doing this is one command, really, and svn takes care of the rest. |
21:40.02 | dvayanu | how many projects do you actually have? |
21:40.05 | dvayanu | in your svn |
21:40.18 | jasonb | At my last job we had around 30. |
21:40.35 | jasonb | Where I currently work, we only have a few.. so the problem is small. |
21:40.41 | dvayanu | so you update to a new log4j version in 30 projects? |
21:40.41 | jasonb | I'm used to having >30. |
21:41.16 | jasonb | What sense would it make to have 30 copies of log4j? |
21:41.26 | dvayanu | log4j is just an example |
21:42.02 | dvayanu | do you link them to projects via external jars? |
21:42.17 | jasonb | I think you're wrestling with the difference between "component" and "eclipse project", which aren't necessarily one and the same thing. |
21:44.06 | dvayanu | tell me the difference :-) |
21:45.21 | jasonb | eclipse project = a buildable eclipse project unit that is the smallest unit of code that eclipse allows specifying build path and things like that.. and each eclipse project may in turn depend on other eclipse projects. |
21:46.09 | jasonb | But, 1 eclipse project is not necessarily built as a discrete runnable software "component" (for lack of a better term). It *can*, but instead it might just be part of a runnable component. |
21:46.21 | jasonb | One component might be made up of 5 eclipse projects. |
21:46.26 | dvayanu | yes |
21:46.30 | jasonb | Or, one component might just be one eclipse project. |
21:46.35 | dvayanu | but each project has at least one deliverably |
21:46.38 | dvayanu | deliverable |
21:46.43 | dvayanu | a jar, a war, something |
21:47.06 | jasonb | Yes.. which itself may not be a complete runnable component. |
21:48.41 | dvayanu | this is what they actually call 'artifact' |
21:48.43 | dvayanu | :-) |
21:48.59 | jasonb | To me, that's the same thing as calling it a "thing". :) |
21:49.15 | jasonb | It's just not very meaningful. |
21:49.18 | dvayanu | so the XYZ project generates the xyz.jar |
21:49.40 | dvayanu | and the MyWebAppProject relies on xyz.jar |
21:51.32 | dvayanu | ok sofar? |
21:55.32 | jasonb | Sure. |
22:05.19 | *** join/#tomcat oxi (n=oxi@dyn.144-85-174-230.dsl.vtx.ch) |
22:05.20 | dvayanu | now imagine you have three deployed versions |
22:05.26 | dvayanu | mywebapp 1,2,3 |
22:05.32 | dvayanu | which relies on xyz 1,2,3 |
22:06.01 | dvayanu | and there is a bug in xyz |
22:06.02 | jasonb | Yes, so when you pull svn rev 123, you get all that. |
22:06.19 | dvayanu | you have to test it against all three possible releases? |
22:06.32 | dvayanu | so you have to branch from 1, 2 and 3 |
22:06.47 | dvayanu | apply the bugfix |
22:06.52 | dvayanu | rebuild everything |
22:06.54 | dvayanu | and test it |
22:07.02 | jasonb | No, you make a svn rev 124 that contains the fix, and then QA rev 124 (as one piece), and then upgrade all of the customers who need/want the fix. |
22:07.20 | dvayanu | you mean version 4 |
22:07.28 | dvayanu | since 1, 2 and 3 are 3 independent versions |
22:07.33 | jasonb | The set of (XYZ, MyWebAppProject) = one component.. a webapp. |
22:07.52 | jasonb | No, they can't be independent versions from the standpoint of QA. |
22:08.00 | dvayanu | why not? |
22:08.08 | dvayanu | januar, februar and march versions |
22:08.21 | jasonb | If they must be independent versions, then you have a QA version test matrix.. you can't just test one build. |
22:08.41 | jasonb | So, it's far more work to have them be independent vesions. |
22:08.44 | jasonb | versions. |
22:08.48 | dvayanu | stop |
22:08.54 | dvayanu | you do in fact have independent versions |
22:09.19 | dvayanu | because if you deploy three different versions to three different customers, than you do have 3 versions |
22:09.38 | jasonb | Three versions of the whole build though. |
22:09.41 | dvayanu | yes |
22:09.59 | *** part/#tomcat Guest98829 (n=opera@h55eb1f23.selukra.dyn.perspektivbredband.net) |
22:10.02 | jasonb | Above, I might have been confused by your use of the comma character. |
22:10.09 | *** join/#tomcat barkbarkmeow (n=barkbark@f053157200.adsl.alicedsl.de) |
22:10.24 | dvayanu | so if you have a bugfix in a component you have to test it against all versions which are at customers sites |
22:10.55 | jasonb | You're talking about doing partial upgrades.. we don't do that much.. because that's not stable. |
22:11.11 | dvayanu | what if you can't make a full upgrade |
22:11.19 | dvayanu | because of another dependency |
22:11.28 | dvayanu | if a customer has a db which isn't anymore supported |
22:11.32 | dvayanu | or a plugin |
22:11.33 | jasonb | Then you have to have each component independently versioned, and then you have a matrix of QA tests. |
22:11.42 | jasonb | Testing becomes *huge*. |
22:11.45 | dvayanu | right |
22:11.49 | jasonb | heads to a meeting. |
22:11.50 | dvayanu | but the irony |
22:11.58 | dvayanu | is that in reality you only have one version |
22:12.05 | dvayanu | of the underlying component |
22:12.31 | dvayanu | have fun |
22:49.01 | *** join/#tomcat oxi (n=oxi@dyn.83-228-207-202.dsl.vtx.ch) |
23:28.06 | yassine | night guys |
23:39.54 | *** join/#tomcat oxi (n=oxi@dyn.83-228-163-082.dsl.vtx.ch) |