• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1063
  • Last Modified:

Virtual Hosting on JBoss

I am working on migrating my development hosting environment from Tomcat 6 to JBoss 4.2.3.  I got my CF server running on it, but I am having trouble figuring out the virtual hosting part of things.  The really confusing part is that I have JBoss sitting in /usr/local/jboss, but all my web apps are in /home/david/workspace/coldfusion.  If someone could just give me an example of how to create the tomcat host in jboss...

<Host name="muracms" appBase="webapps"
		unpackWARs="true" autoDeploy="true"
		xmlValidation="false" xmlNamespaceAware="false">
	<Context path="" docBase="/home/david/workspace/coldfusion/muracms"/>

Open in new window

  • 5
  • 5
1 Solution
Hi, you can find server.xml of web server of jboss in $JBOSS_HOME/server/default/deploy/jboss-web.deployer/server.xml place (if you do not use default config you can change default to the config which you are using).
It's configuration similar to tomcat config. I think you can put <Context> element inside <Host name="localhost"... part there.
paldieAuthor Commented:
@ramazanyich - That is what I tried in my server.xml on JBoss (in the same path), but it just crashes.
probably you need to remove server/default/jboss-web.deployer/ROOT.war as it is suggested in http://docs.jboss.org/jbportal/v2.7.1/referenceGuide/html/configuration.html (see pp3.2.1 there).
After that jboss should use your Context definition.
I tried it on my local installation and indeed without removing of ROOT.war my context was not used.
But since I remove ROOT.war my context is used.
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

paldieAuthor Commented:
It seems that your solution, ramazanyich, only works for JBoss Web, but not on JBoss AS.  I tried it and it still didn't seem to work.  I am going to have some time to try taking the steps a little further tonight and will see what comes from it.
If you worry about appbase then the simplest way is to move all your apps from webapps folder of tomcat to the server/deploy directory. All war files will be automatically picked up by jboss AS as web applications (web deployer  recognizes them by .war extension)
paldieAuthor Commented:
The problem is that I don't keep them in the tomcat/webapps folder.  I keep them in /home/david/workspaces/coldfusion/ so that I can keep all my work in one place on my drive.
Ok, I see. So in that case you should not bother with <Context> or <Host> element in jboss-web.
the application (by application I mean all type of applications: web, ejbs,etc) scanner is configured in server/default/conf/jboss-service.xml . If you search for <attribute name="URLs"> element in this file you will see that it is configured to track deploy folder inside server/default. But you can put multiple urls there.
And there is also comment there:
         URLs are comma separated and resolve relative to the server home URL
         unless the given path is absolute. If the URL ends in "/" it is
         considered a collection and scanned, otherwise it is simply deployed;
         this follows RFC2518 convention and allows discrimination between
         collections and directories that are simply unpacked archives.

         URLs may be local (file:) or remote (http:). Scanning is supported
         for remote URLs but unpacked deployment units are not.

         Example URLs:
                 scans ${jboss.server.url}/deploy/, which is local or remote
                 depending on the URL used to boot the server
                 scans ${jboss.server.home)/deploy, which is always local
                 deploy myapp.ear from a local location
                 scans the specified directory
                 deploys myapp.ear from a remote location
                 scans the specified WebDAV location
so for your case ityou will need to add
and jboss will scan your folder for web apps.
paldieAuthor Commented:
I did a search for <attribute name="URLs" and found nothing, so I did a search for URL and didn't find anything like what you said, and even just scanning through the document didn't help.  I am on JBoss 5.1.0.GA as Railo CF Server doesn't work on more recent versions of JBoss.  Are you using a more modern version that may have added that attribute?
ok, I see. Your first message was mentioning jboss4.2.3 - that's why I was sending you solution for jboss4.2.3
in jboss5.1 it is changed. JBOSS uses virtual filesystem there.
You need to look for <property name="applicationURIs"> in jboss-5.1.0.GA\server\default\conf\bootstrap\profile.xml

It contains <list elementClass="java.net.URI">
you should add you directory there: file:/home/david/workspaces/coldfusion/

it will look like
<list elementClass="java.net.URI">
paldieAuthor Commented:
This was only a partial solution
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now