8 Replies Latest reply on Nov 9, 2009 9:42 PM by down7ime

    jboss with website root which sits deep in the app

      Hey Guys,

      Have an odd problem with my coldfusion web app which im trying to run under apache and jboss.

      So far i have apache successfully redirecting requests, jboss and coldfusion seem to working fine together, my problem is that the web application root is not actually in the deployment directory but a few folders below that, for eg.

      / - deployment directory
      /project/site/root - my app root

      now the structure is like this due to the framework that im using, is there a way to setup jboss so that the application root is a few directories below the deployment directory?

      Any help appreciated, thanks.

        • 1. Re: jboss with website root which sits deep in the app

          Just to clarify, how can i tell jboss/coldfusion that the root directory of my app is not actually the deployment directory but a few directories below that

          at the moment when i run a coldfusion function expandPath("/") it (rightly) returns the deploy directory, is there some way to change jboss' cf config to change this?

          • 2. Re: jboss with website root which sits deep in the app
            peterj

            That is not a problem - you can have several directories nested within the deploy directory, and apps within those directories. As an example, look at server/xxx/deploy/management. Note that that console SAR application is located within that directory. The only real requirement is that application directory contain a suffix, such as WAR, so that JBossAS will know what type of app it is.

            For example, this directory path would be acceptable for deploying a web app:

            server/xxx/deploy/project/site/root.war

            • 3. Re: jboss with website root which sits deep in the app

              Hey Guys,

              Giving this another shot and running into the same issue, i need to know how to define the webroot of an application in JBoss, not sure if this is possible but its a requirement for the framework im using.

              basically i have the following structure


              /root.war
              /root.war/projects/app/www <-- web application root
              /root.war/plugins <!-- framework files
              /root.war/core <!-- framework files

              So i have the whole /root.war directory correctly parsing cfml (my framework files and application files), now i need a way to tell jboss to serve all requests from my application root, ie:

              /root.war/projects/www/site/www

              At the moment jboss deploys the site like this

              009-11-09 11:15:52,546 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/
              2009-11-09 11:15:53,062 INFO [STDOUT] (main) ===================================================================
              WEB CONTEXT
              -------------------------------------------------------------------
              - config:C:\Domains\railo-deploy\root.war\WEB-INF\railo
              - webroot:C:\Domains\railo-deploy\root.war\

              i would like to change the webroot location above to

              - webroot:C:\Domains\railo-deploy\root.war\projects\site\www\

              can this be done? note i still need jboss to parse files under root.war/plugins and root.war/core since the web app needs these files.

              Any idea how i can get this done, i have tried added context-path, appBase, docBase and a number of other things to
              /root.war/WEB-INF/jboss-web.xml

              also tried creating
              /root.war/WEB-INF/context.xml

              and added context, appBase and docBase to
              $jboss\server\$instance\deploy\jbossweb.sar\server.xml

              most of which caused errors, can anyone suggest the right way to do this? or even if its possible, as you can see im completely lost as to how this should be defined.

              Any help/advice appreciated, thanks.

              • 4. Re: jboss with website root which sits deep in the app

                 

                "PeterJ" wrote:
                That is not a problem - you can have several directories nested within the deploy directory, and apps within those directories. As an example, look at server/xxx/deploy/management. Note that that console SAR application is located within that directory. The only real requirement is that application directory contain a suffix, such as WAR, so that JBossAS will know what type of app it is.

                For example, this directory path would be acceptable for deploying a web app:

                server/xxx/deploy/project/site/root.war


                Thanks for the response peter, your suggestion puts the war folder where the application document root is, this will work perfectly if all the files i needed to process were under that document root, unfortunately i need jboss to render files above that root, namely;

                server/xxx/deploy/plugins/
                server/xxx/deploy/core/

                as well as the document root, ie

                server/xxx/deploy/project/site/root.war

                so could i some how do something like this?

                server/xxx/deploy/root.war/plugins/
                server/xxx/deploy/root.war/core/
                server/xxx/deploy/root.war/project/site/site.war



                • 5. Re: jboss with website root which sits deep in the app

                  FYI

                  the requests are handled in the following order

                  - IIS
                  - apache jakarta connector
                  - JBoss 5.1
                  - Railo 3.1

                  the coldfusion framework im using is called farcry, which has this embedded project architecture which doesnt seem to go down well with jboss =\

                  • 6. Re: jboss with website root which sits deep in the app

                    just wondering if i will experience the same issue if i work directly with tomcat and skip jboss altogether, maybe thats an option?

                    • 7. Re: jboss with website root which sits deep in the app
                      peterj

                      Wow, resurrecting this discussion one year later. I have no idea on how to get this scheme to work, or even what AS 5.1 would do with finding a web app nested inside another web app.

                      • 8. Re: jboss with website root which sits deep in the app

                        jboss will look at the first war folder thats defined in the scanning directory and deploy that, it will ignore nested wars.

                        I've managed to get it working but its quite messy, all i need to clean it up is a way to map a directory within the deployed context.

                        so i now have

                        /core
                        /core/webtop
                        /plugins
                        /projects/appName/www.war

                        but i need a way to setup an alias of "webtop" under www.war

                        to get around it ive just copied the "webtop" resources to the deploy directory, works fine, but that completely screws up the frameworks structure, not the best for subversion and working with the app on multiple environments.

                        Any ideas PeterJ? i have tried added a context tag for my application host tag under deploy/jbossweb.sar/server.xml but regardless of the format and attributes i define the instance just fails to come up

                        the error i keep getting, regardless of the attributes i define is

                        DEPLOYMENTS IN ERROR:
                        Deployment "WebServer" is in error due to the following reason(s): org.jboss.xb.binding.JBossXBRuntimeException: Context cannot appear in this position. Expected content of Host is unordered_sequence: Listener* Valve* Alias* Realm? attributes?