Author: ryan
Date: Wed Sep 19 12:40:53 2007
New Revision: 577421
URL: http://svn.apache.org/viewvc?rev=577421&view=rev
Log:
SOLR-360 -- reverting #577405,
set factory.setProperty("reuse-instance", Boolean.FALSE);
works for 1.6. The BEA parser works for 1.5
Modified:
lucene/solr/trunk/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
Modified:
lucene/solr/trunk/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java?rev=577421&r1=577420&r2=577421&view=diff
==============================================================================
---
lucene/solr/trunk/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
(original)
+++
lucene/solr/trunk/src/java/org/apache/solr/handler/XmlUpdateRequestHandler.java
Wed Sep 19 12:40:53 2007
@@ -73,12 +73,23 @@
public static final String OVERWRITE_COMMITTED = "overwriteCommitted"; //
@Deprecated
public static final String OVERWRITE_PENDING = "overwritePending"; //
@Deprecated
public static final String ALLOW_DUPS = "allowDups";
+
+ XMLInputFactory inputFactory;
- @SuppressWarnings("unchecked")
@Override
public void init(NamedList args)
{
super.init(args);
+
+ inputFactory = BaseXMLInputFactory.newInstance();
+ try {
+ inputFactory.setProperty("reuse-instance", Boolean.FALSE);
+ }
+ catch( IllegalArgumentException ex ) {
+ // The java 1.5 com.bea.xml does not support this property, but behaves
properly in a
+ // multi-threaded environment. Ignore the error for 1.5
+ log.info( "Unable to set the 'reuse-instance' property for the input
factory: "+inputFactory );
+ }
}
@Override
@@ -102,7 +113,6 @@
for( ContentStream stream : req.getContentStreams() ) {
Reader reader = stream.getReader();
try {
- XMLInputFactory inputFactory = BaseXMLInputFactory.newInstance();
XMLStreamReader parser = inputFactory.createXMLStreamReader(reader);
this.processUpdate( processor, parser );
}
@@ -365,7 +375,6 @@
SolrParams params = new MapSolrParams( new HashMap<String, String>() );
SolrQueryRequestBase req = new SolrQueryRequestBase( core, params ) {};
SolrQueryResponse rsp = new SolrQueryResponse(); // ignored
- XMLInputFactory inputFactory = BaseXMLInputFactory.newInstance();
XMLStreamReader parser = inputFactory.createXMLStreamReader(input);
UpdateRequestProcessor processor = processorFactory.getInstance(req,
rsp, null);
this.processUpdate( processor, parser );