Re: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.)

2008-10-06 Thread Brett Porter
To my knowledge, these are usually used as standard resource files,
bundled up in the same way as anything else going in the archive. I'm
not sure if the JBoss plugin will help you manipulate the files, but
if you are hand editing them you should have no trouble.

As far as filtering them goes, this is a very common question. I
highly recommend not deploying artifacts to the repository that are
dependent on a particular environment.

Cheers,
Brett

2008/10/7 Rick [EMAIL PROTECTED]:
 I'm working on a typical JEE application that will be deployed to JBoss.
 (JBoss5 if it matters.) Things are going. I have a pretty standard setup:

 Parent Module
 EJB-JAR Module
 JAR Module
 WEB Module
 EAR Module


 Currently, however, I'm manually having to deal with certain files that I
 need in JBoss:
 *  datasource.xml files
 *  jboss-service.xml
 *  log4j.xml files
 There will probably be some others as well.

 What is the best way to deal with these files? Is the best practice to
 create a directory in the parent module or ear module and just create some
 custom ant task to move them around where they need to go? I couldn't find
 much about a jboss maven plugin to help with these tasks, so I'm assuming
 hooking in regular old ant is the way to go?

 I'll also want to have certain variables in those files replaced with
 variables from a profile (dev, test, prod) depending on what profile I'm
 running. I'll look into that as well, since I'm sure there are some docs on
 it, but are the any issues to be aware of since I'm guessing these aren't
 standard files  that I'm dealing with so is using the replacement mechanism
 more difficult?

 Thanks




-- 
Brett Porter
Blog: http://blogs.exist.com/bporter/

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



Re: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.)

2008-10-06 Thread Bob Aiello
I believe that most people use the Ant plugin Assembly to parse the dev, qa, 
prod
environment files. I would suggest that you create them all during the 
build. I have
seen some people put in the environment during the build and parse the files 
just for
that environment. This meant that they had to rebuild for dev, QA and Prod 
(very

bad practice!). From a compliance point of view you do want your QA build
to be the same as the build that you promote into production (obviously you
have a deployment script to change over the environment files).

What does everyone else do?

Bob Aiello
Editor in Chief
CM Crossroads
www.cmcrossroads.com
http://www.linkedin.com/in/BobAiello


- Original Message - 
From: Rick [EMAIL PROTECTED]

To: Maven Users List users@maven.apache.org
Sent: Monday, October 06, 2008 6:25 PM
Subject: Best practice? Where to put app-server specific files (log4j.xml, 
datsource xml files, jboss-service.xml , etc.)




I'm working on a typical JEE application that will be deployed to JBoss.
(JBoss5 if it matters.) Things are going. I have a pretty standard setup:

Parent Module
EJB-JAR Module
JAR Module
WEB Module
EAR Module


Currently, however, I'm manually having to deal with certain files that I
need in JBoss:
*  datasource.xml files
*  jboss-service.xml
*  log4j.xml files
There will probably be some others as well.

What is the best way to deal with these files? Is the best practice to
create a directory in the parent module or ear module and just create some
custom ant task to move them around where they need to go? I couldn't find
much about a jboss maven plugin to help with these tasks, so I'm assuming
hooking in regular old ant is the way to go?

I'll also want to have certain variables in those files replaced with
variables from a profile (dev, test, prod) depending on what profile I'm
running. I'll look into that as well, since I'm sure there are some docs 
on

it, but are the any issues to be aware of since I'm guessing these aren't
standard files  that I'm dealing with so is using the replacement 
mechanism

more difficult?

Thanks




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



RE: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.)

2008-10-06 Thread Martin Gainty

download andromda source at
http://sourceforge.net/project/showfiles.php?group_id=73047package_id=117392release_id=593519
then build the F:\Andromda\samples\animal-quiz\app
this will build a jboss animal-quiz-3.4-SNAPSHOT.ear for you

tweak the pom.xml to suit your needs

HTH
Martin 
__ 
Disclaimer and confidentiality note 
Everything in this e-mail and any attachments relates to the official business 
of Sender. This transmission is of a confidential nature and Sender does not 
endorse distribution to any party other than intended recipient. Sender does 
not necessarily endorse content contained within this transmission. 


 Date: Mon, 6 Oct 2008 21:00:41 -0400
 From: [EMAIL PROTECTED]
 Subject: Re: Best practice? Where to put app-server specific files 
 (log4j.xml, datsource xml files, jboss-service.xml , etc.)
 To: users@maven.apache.org
 
 I believe that most people use the Ant plugin Assembly to parse the dev, qa, 
 prod
 environment files. I would suggest that you create them all during the 
 build. I have
 seen some people put in the environment during the build and parse the files 
 just for
 that environment. This meant that they had to rebuild for dev, QA and Prod 
 (very
 bad practice!). From a compliance point of view you do want your QA build
 to be the same as the build that you promote into production (obviously you
 have a deployment script to change over the environment files).
 
 What does everyone else do?
 
 Bob Aiello
 Editor in Chief
 CM Crossroads
 www.cmcrossroads.com
 http://www.linkedin.com/in/BobAiello
 
 
 - Original Message - 
 From: Rick [EMAIL PROTECTED]
 To: Maven Users List users@maven.apache.org
 Sent: Monday, October 06, 2008 6:25 PM
 Subject: Best practice? Where to put app-server specific files (log4j.xml, 
 datsource xml files, jboss-service.xml , etc.)
 
 
  I'm working on a typical JEE application that will be deployed to JBoss.
  (JBoss5 if it matters.) Things are going. I have a pretty standard setup:
 
  Parent Module
  EJB-JAR Module
  JAR Module
  WEB Module
  EAR Module
 
 
  Currently, however, I'm manually having to deal with certain files that I
  need in JBoss:
  *  datasource.xml files
  *  jboss-service.xml
  *  log4j.xml files
  There will probably be some others as well.
 
  What is the best way to deal with these files? Is the best practice to
  create a directory in the parent module or ear module and just create some
  custom ant task to move them around where they need to go? I couldn't find
  much about a jboss maven plugin to help with these tasks, so I'm assuming
  hooking in regular old ant is the way to go?
 
  I'll also want to have certain variables in those files replaced with
  variables from a profile (dev, test, prod) depending on what profile I'm
  running. I'll look into that as well, since I'm sure there are some docs 
  on
  it, but are the any issues to be aware of since I'm guessing these aren't
  standard files  that I'm dealing with so is using the replacement 
  mechanism
  more difficult?
 
  Thanks
  
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

_
Get more out of the Web. Learn 10 hidden secrets of Windows Live.
http://windowslive.com/connect/post/jamiethomson.spaces.live.com-Blog-cns!550F681DAD532637!5295.entry?ocid=TXT_TAGLM_WL_domore_092008

RE: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.)

2008-10-06 Thread Edelson, Justin
We treat these JBoss configuration files as artifacts outside of the main 
deployable (read: EAR file). The vast majority of our JBoss sites use the same 
base server configuration, which includes the jboss-service.xml and other 
files. jboss-service.xml uses system property placeholders for 
environmental-specific bits. The system properties are defined in a separate 
file and loaded into JBoss with the -P option. Each instance has its own 
log4j.xml file and datasource xml files, but AFAIK, these could use property 
placeholders as well if necessary. We version control all of these files 
(obviously), but outside of the main application.
 
The goal of this architecture was, as Bob says below, to use the same build 
between dev, QA, and prod (although in reality, dev is usually a SNAPSHOT build 
from CI) and to simplify new site creation by reusing the same base server 
configuration. 
 
For more application-specific (vs. container-specific) stage-based 
configuration, we use a combination of system properties (-Dstage=qa) and a 
customized version of Spring internals.
 
Justin Edelson
VP, Platform Engineering
MTV Networks Digital



From: Bob Aiello [mailto:[EMAIL PROTECTED]
Sent: Mon 10/6/2008 9:00 PM
To: Maven Users List
Subject: Re: Best practice? Where to put app-server specific files (log4j.xml, 
datsource xml files, jboss-service.xml , etc.)



I believe that most people use the Ant plugin Assembly to parse the dev, qa,
prod
environment files. I would suggest that you create them all during the
build. I have
seen some people put in the environment during the build and parse the files
just for
that environment. This meant that they had to rebuild for dev, QA and Prod
(very
bad practice!). From a compliance point of view you do want your QA build
to be the same as the build that you promote into production (obviously you
have a deployment script to change over the environment files).

What does everyone else do?

Bob Aiello
Editor in Chief
CM Crossroads
www.cmcrossroads.com
http://www.linkedin.com/in/BobAiello


- Original Message -
From: Rick [EMAIL PROTECTED]
To: Maven Users List users@maven.apache.org
Sent: Monday, October 06, 2008 6:25 PM
Subject: Best practice? Where to put app-server specific files (log4j.xml,
datsource xml files, jboss-service.xml , etc.)


 I'm working on a typical JEE application that will be deployed to JBoss.
 (JBoss5 if it matters.) Things are going. I have a pretty standard setup:

 Parent Module
 EJB-JAR Module
 JAR Module
 WEB Module
 EAR Module


 Currently, however, I'm manually having to deal with certain files that I
 need in JBoss:
 *  datasource.xml files
 *  jboss-service.xml
 *  log4j.xml files
 There will probably be some others as well.

 What is the best way to deal with these files? Is the best practice to
 create a directory in the parent module or ear module and just create some
 custom ant task to move them around where they need to go? I couldn't find
 much about a jboss maven plugin to help with these tasks, so I'm assuming
 hooking in regular old ant is the way to go?

 I'll also want to have certain variables in those files replaced with
 variables from a profile (dev, test, prod) depending on what profile I'm
 running. I'll look into that as well, since I'm sure there are some docs
 on
 it, but are the any issues to be aware of since I'm guessing these aren't
 standard files  that I'm dealing with so is using the replacement
 mechanism
 more difficult?

 Thanks



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





Re: Best practice? Where to put app-server specific files (log4j.xml, datsource xml files, jboss-service.xml , etc.)

2008-10-06 Thread Rick
Thanks everyone. You all make good points. Typically, with our ant builds,
we have a special task called setup_jboss that will deploy certain jboss
specific files (after doing some substitutions - ie datsource setup for a
dev db, etc.). It's obviously not run all the time, so I guess I could keep
the seem thing within maven (just haven't used the ant tasks from within
maven yet, but will look into that.


On Mon, Oct 6, 2008 at 10:13 PM, Edelson, Justin 
[EMAIL PROTECTED] wrote:

 We treat these JBoss configuration files as artifacts outside of the main
 deployable (read: EAR file). The vast majority of our JBoss sites use the
 same base server configuration, which includes the jboss-service.xml and
 other files. jboss-service.xml uses system property placeholders for
 environmental-specific bits. The system properties are defined in a separate
 file and loaded into JBoss with the -P option. Each instance has its own
 log4j.xml file and datasource xml files, but AFAIK, these could use property
 placeholders as well if necessary. We version control all of these files
 (obviously), but outside of the main application.

 The goal of this architecture was, as Bob says below, to use the same build
 between dev, QA, and prod (although in reality, dev is usually a SNAPSHOT
 build from CI) and to simplify new site creation by reusing the same base
 server configuration.

 For more application-specific (vs. container-specific) stage-based
 configuration, we use a combination of system properties (-Dstage=qa) and a
 customized version of Spring internals.

 Justin Edelson
 VP, Platform Engineering
 MTV Networks Digital

 

 From: Bob Aiello [mailto:[EMAIL PROTECTED]
 Sent: Mon 10/6/2008 9:00 PM
 To: Maven Users List
 Subject: Re: Best practice? Where to put app-server specific files
 (log4j.xml, datsource xml files, jboss-service.xml , etc.)



 I believe that most people use the Ant plugin Assembly to parse the dev,
 qa,
 prod
 environment files. I would suggest that you create them all during the
 build. I have
 seen some people put in the environment during the build and parse the
 files
 just for
 that environment. This meant that they had to rebuild for dev, QA and Prod
 (very
 bad practice!). From a compliance point of view you do want your QA build
 to be the same as the build that you promote into production (obviously you
 have a deployment script to change over the environment files).

 What does everyone else do?

 Bob Aiello
 Editor in Chief
 CM Crossroads
 www.cmcrossroads.com
 http://www.linkedin.com/in/BobAiello


 - Original Message -
 From: Rick [EMAIL PROTECTED]
 To: Maven Users List users@maven.apache.org
 Sent: Monday, October 06, 2008 6:25 PM
 Subject: Best practice? Where to put app-server specific files (log4j.xml,
 datsource xml files, jboss-service.xml , etc.)


  I'm working on a typical JEE application that will be deployed to JBoss.
  (JBoss5 if it matters.) Things are going. I have a pretty standard setup:
 
  Parent Module
  EJB-JAR Module
  JAR Module
  WEB Module
  EAR Module
 
 
  Currently, however, I'm manually having to deal with certain files that I
  need in JBoss:
  *  datasource.xml files
  *  jboss-service.xml
  *  log4j.xml files
  There will probably be some others as well.
 
  What is the best way to deal with these files? Is the best practice to
  create a directory in the parent module or ear module and just create
 some
  custom ant task to move them around where they need to go? I couldn't
 find
  much about a jboss maven plugin to help with these tasks, so I'm assuming
  hooking in regular old ant is the way to go?
 
  I'll also want to have certain variables in those files replaced with
  variables from a profile (dev, test, prod) depending on what profile I'm
  running. I'll look into that as well, since I'm sure there are some docs
  on
  it, but are the any issues to be aware of since I'm guessing these aren't
  standard files  that I'm dealing with so is using the replacement
  mechanism
  more difficult?
 
  Thanks
 


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






-- 
Rick