On 27/06/2014 21:22, Mark Eggers wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 6/27/2014 11:59 AM, Christopher Schultz wrote:
Paul,

On 6/27/14, 8:34 AM, Paul Taylor wrote:
I have a simple WAR based web application that uses lucene
created indexes to provide search results in a xml format, the
location of the indexes (outside of the war) are referred in the
  web.xml.
It works fine locally but I want to deploy it using Elastic
Beanstalk within Amazon Webservices but for it to work I need
the data files within the war, then I can allow EB to create new
  instances when load balancing/scaling and it will work because
the data fields are included in the war at deployment time. I
have checked that EB does unjar the war so that when my code
comes to use the files they will be real files not still
contained within the War.
With that in mind where could i put the data files so they not
considered  by tomcat as java classes , and supplementary
question how do I modify my pom file to do this with maven
What?

Java won't try to load random files as .class files.

Are you launching Lucene from within the startup process of your
webapp? I don't see any support for loading Lucene indexes from
within a ZIP file (e.g. WAR, JAR) so you might have to bootstrap
the following when deploying:

1. Know where your files are within the WAR 2. In a
ServletContextListener -- perhaps the one that actually sets-up
Lucene -- do the following:

a. Unpack each file of your index into ${tmpdir}/lucene (or
whatever) b. Configure Lucene with an IndexReader that looks at
${tmpdir}/lucene

3. Clean-up after yourself during undeploy

-chris
Paul,

If you're creating the index files before or during the build, you can
place them in:

Project->src->main->resources->some-folder->files

Maven will package them up and place them in WEB-INF/classes/some-folder
Thats what Im doing and seems to prevent deployment (perhaps its some other reason)
In your application, you could use getResourceAsStream to load the
information from the classpath.

If you're launching Lucene from within your web application and
periodically building the files, then placing them into
${tmpdir}/lucene is probably the way to go.
Okay that sounds better, but can I do that at deploy time ?

Paul

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to