Hi,
the lifecycle of your Solr extension (i.e. the component) is not something that's up to you. Before designing the component you should read the framework docs [1], in order to understand the context where it will live, once deployed.

There's nothing, as far as I know, other than the component callbacks (e.g. the inform, init methods) that can help you to manage the lifecycle of a custom class you're using within the component. Look at the SolrCoreAware [2] interface, maybe it could fit your needs. From what you write it seems you could need something like a singleton (which is often an anti-pattern in distributed environment) , but without further details I'm just shooting in the dark

In addition: you wrote a component so I guess it shouldn't be so hard to have a look at one of the existing built-in components. I'm quite sure they already met (and solved) a similar issue.

Best,
Andrea

[1] https://lucene.apache.org/solr/6_1_0/solr-core/org/apache/solr/handler/component/SearchComponent.html
[2] https://wiki.apache.org/solr/SolrPlugins#SolrCoreAware

On 30/06/16 16:00, Mark Robinson wrote:
Hi,

I have a java OBJECT which I need to load once.
I have written a java custom component, which I have added in
"last-components" in solrconfig.xml, from which I want to access the above
mentioned OBJECT when each search request comes in.

Is there a way I can load a java object on server/ instance startup?
OR
Load it when the first call comes to SOLR?

For the time being I created that Java object inside the custom component
itself; but it is loaded each time a search request comes in.

Could some one pls give some pointers on how my above requirement can be
achieved in SOLR?

Thanks!
Mark


Reply via email to