Solr with JBoss
Solr runs fine with
JBoss, see the instructions in the generic Solr installation page The latest version of JBoss is recommended
Optional Configuration
URI Charset Config
If you are going to query Solr using international characters (>127) using HTTP-GET, you must configure JBoss to conform to the URI standard by accepting percent-encoded UTF-8.
Edit JBoss's server/default/deploy/jbossweb-tomcat55.sar/server.xml and add the following attribute to the correct Connector element: URIEncoding="UTF-8". If you're using JBoss v4.0 or above, then the file is located at: server/default/deploy/jboss-web-deployer/server.xml
<Server ...>
<Service ...>
<Connector ... URIEncoding="UTF-8"/>
...
</Connector>
</Service>
</Server>
This is only an issue when sending non-ascii characters in a query request... no configuration is needed for Solr/Tomcat to return non-ascii chars in a response, or accept non-ascii chars in an HTTP-POST body.
Configuring Solr Home
You can configure the Solr home directory globally via -Dsolr.solr.home in the file bin/run.bat. But that is often not desired because you potentially want more than one Solr installation deployed.
Solr Home via web.xml
You can configure the Solr home directory to use per webapp in Solr's web.xml file. Add following snippet to the web.xml:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>C:\Projects\solr-trunk\example\solr</env-entry-value>
</env-entry>
Troubleshooting
If you encounter the error "statements are only available if source level is 5.0" then you have to edit the file server/default/deploy/jbossweb-tomcat55.sar/conf/web.xml.
Comment in the block
<init-param> <param-name>compilerSourceVM</param-name> <param-value>1.5</param-value> </init-param>