You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2015/05/22 17:27:45 UTC

[Solr Wiki] Update of "WhyNoWar" by Upayavira

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.

The "WhyNoWar" page has been changed by Upayavira:
https://wiki.apache.org/solr/WhyNoWar?action=diff&rev1=1&rev2=2

- This page still needs to be created.  Will complete ASAP.
+ = Why No War =
  
+ == Introduction ==
+ From 5.0 onwards, Solr is stating that it does not provide a war file as a means of deployment. This page is intended to explain this decision.
+ 
+ 
+ == Solr is a Server, not a webapp ==
+ The intent is that Solr be considered a '''server''' not a '''Java web application'''. You download Solr, and you start it with the start/stop scripts that are provided, just as you would with MySQL or Postgres.
+ 
+ == Why then? ==
+ 
+ There is no single reason for this change, rather a range of things that are expected to make life simpler for Solr developers, and thus make a better application for its users.
+ 
+ Some examples include:
+ 
+  * All tests use the embedded Jetty. Providing Solr as an application means that all users will be benefiting from this extensive test suite
+  * It allows configuration to be centralised and scripted, rather than being something that you need to manage for yourself when configuring your servlet container - configuration should be a part of the application itself, not something that is done differently by every user depending upon their choice of servlet container.
+  * A servlet cannot discover its port number without receiving a request. This can make it difficult for it to work as a part of a cluster.
+  * There might be advantages to switching to a different container, such as Netty. Without control over the servlet container, developers cannot take advantage of this possibility.
+  * Use features that not all containers support 
+ 
+ In terms of advertising Solr as a war, it encourages people to:
+  * Deploy it in a non-standard, non-tested way
+  * Consider running it in the same container as other applications
+ 
+ == Can I still deploy as a War? ==
+ At this point, there have not been any changes that would prevent you from installing as a war, and documentation for 4.x would still apply for 5.0/5.1.
+ 
+ However, by doing this, you are setting yourself up for issues when the point does come where a feature is added that will not work outside of the embedded Jetty, at which point you will either have to stick with a fixed version, or entirely redo your deployment architecture.
+