Hi Manish You should use the RegisteredSolrServerTracker [1] for that
If you have the dbpedia index available on the ManagesSolrServer you can simple use RegisteredSolrServerTracker indexTracker = new RegisteredSolrServerTracker(bc, IndexReference.parse("dbpedia")); indexTracker.open(); in the activate method of your OSGI component (or the BundleActivator if you like) best Rupert [1] http://stanbol.apache.org/docs/trunk/utils/commons-solr#tracking-solr-indexes On Mon, May 5, 2014 at 11:19 AM, Manish Aggarwal <mani.i...@gmail.com> wrote: > Hi, > > I have created a customized java module (see code extract below) which > initialized the SolrYard and query dbpedia index file. It uses stanbol > 0.12.0 packages. Everything works fine. > Now, I am trying to include this custom module in an OSGi environment > but getting the following error: > > Caused by: org.apache.solr.common.SolrException: Error instantiating > shardHandlerFactory class > [org.apache.solr.handler.component.HttpShardHandlerFactory]: Error > loading class 'org.apache.solr.handler.component.HttpShardHandlerFactory' > at > org.apache.solr.handler.component.ShardHandlerFactory.newInstance(ShardHandlerFactory.java:54) > at org.apache.solr.core.CoreContainer.load(CoreContainer.java:204) > at > com.abc.g11n.queryDbpedia.QueryDbpediaDirect.initYardNew(QueryDbpediaDirect.java:146) > at > com.abc.g11n.queryDbpedia.QueryDbpediaDirect.init(QueryDbpediaDirect.java:119) > at > com.adc.sharedcloud.worker.manthanta.DefaultCommand.<clinit>(DefaultCommand.java:59) > ... 103 more > > I was reading about StandaloneEmbeddedSolrServerProvider and I found > out that it is intended to be used outside of an OSGI environment as > specified at > (http://www.go5th.com/jdocs/stanbol/commons/solr/managed/org/apache/stanbol/commons/solr/managed/standalone/StandaloneEmbeddedSolrServerProvider.html) > > Could you please help me on how to initialize a SolrYard (to query > dbpedia index file) in an OSGi environment? > > > (Code that I am currently using to initialize the SolrYard) > > private static Yard yard; > private static final String DBP_RES_ID = "Dbp_Res_ID"; > private static final String YARD_ID = "DbpYard"; > private static final String SOLR_CORE_NAME = "dbpedia"; > private static StandaloneEmbeddedSolrServerProvider solrServerProvider; > private static SolrServer server; > public static boolean dbpediaInitialised = false; > > private static void initYard(String solrServerDir) throws > YardException, IOException { > SolrYardConfig config = new SolrYardConfig(YARD_ID, SOLR_CORE_NAME); > config.setName("Dbpedia Solr Yard"); > config.setDescription("The Solr Yard for querying dbpedia"); > config.setAllowInitialisation(false); > System.setProperty(ManagedSolrServer.MANAGED_SOLR_DIR_PROPERTY, > solrServerDir); > IndexReference solrServerRef = > IndexReference.parse(config.getSolrServerLocation()); > solrServerProvider = > StandaloneEmbeddedSolrServerProvider.getInstance(); > server = solrServerProvider.getSolrServer(solrServerRef, > config.isAllowInitialisation() ? > config.getIndexConfigurationName() : null); > //Optional support for the nsPrefix service > final NamespacePrefixService nsPrefixService; > ServiceLoader<NamespacePrefixService> spsl = > ServiceLoader.load(NamespacePrefixService.class); > Iterator<NamespacePrefixService> it = spsl.iterator(); > if(it.hasNext()){ > nsPrefixService = it.next(); > } else { > nsPrefixService = null; > } > yard = new SolrYard(server, config, nsPrefixService); > } > > > Regards, > Manish -- | Rupert Westenthaler rupert.westentha...@gmail.com | Bodenlehenstraße 11 ++43-699-11108907 | A-5500 Bischofshofen | REDLINK.CO .......................................................................... | http://redlink.co/