private static Worker instantiateExplicitlyConfiguredWorker(WorkerBuildContext buildContext, String workerImplClassName) { ServiceManager serviceManager = buildContext.getServiceManager(); return ClassLoaderHelper.instanceFromName( Worker.class, workerImplClassName, "worker", serviceManager ); }
@Override public void initialize(Properties props, WorkerBuildContext context, IndexManager indexManager) { this.indexManager = (ElasticsearchIndexManager) indexManager; this.errorHandler = context.getErrorHandler(); this.searchIntegrator = context.getUninitializedSearchIntegrator(); this.visitor = new ElasticsearchIndexWorkVisitor( this.indexManager.getActualIndexName(), this.searchIntegrator ); this.jestClient = context.getServiceManager().requestService( JestClient.class ); }
private static IndexManagerGroupHolder getGroupHolder(IndexManager indexManager, WorkerBuildContext buildContext) { IndexManagerHolder indexManagerHolder = buildContext.getAllIndexesManager(); return indexManagerHolder.getGroupHolderByIndexManager( indexManager ); }
@Override public void initialize(Properties props, WorkerBuildContext context, QueueingProcessor queueingProcessor) { this.queueingProcessor = queueingProcessor; this.factory = context.getUninitializedSearchIntegrator(); this.transactionExpected = context.isTransactionManagerExpected(); this.instanceInitializer = context.getInstanceInitializer(); this.enlistInTransaction = ConfigurationParseHelper.getBooleanValue( props, Environment.WORKER_ENLIST_IN_TRANSACTION, false ); }
public AbstractWorkspaceImpl(DirectoryBasedIndexManager indexManager, WorkerBuildContext context, Properties cfg) { this.indexManager = indexManager; this.optimizerStrategy = indexManager.getOptimizerStrategy(); this.writerHolder = new IndexWriterHolder( context.getErrorHandler(), indexManager ); this.indexMetadataIsComplete = PropertiesParseHelper.isIndexMetadataComplete( cfg, context ); this.deleteByTermEnforced = context.isDeleteByTermEnforced(); this.serviceManager = context.getServiceManager(); }
@Override public void initialize(Properties props, WorkerBuildContext context, IndexManager indexManager) { serviceManager = context.getServiceManager(); this.props = props; this.isTransactional = context.enlistWorkerInTransaction(); this.jmsQueueName = props.getProperty( JMS_QUEUE ); this.indexName = indexManager.getIndexName(); this.integrator = context.getUninitializedSearchIntegrator(); this.factory = initializeJMSQueueConnectionFactory( props ); if ( ! isTransactional ) { // if we are not transactional, we can eagerly initialize the queue and connection this.jmsQueue = initializeJMSQueue( factory, props ); this.connection = initializeJMSConnection( factory, props ); } }
@Override public void initialize(String indexName, Properties properties, Similarity similarity, WorkerBuildContext context) { this.serviceManager = context.getServiceManager(); final ElasticsearchIndexStatus requiredIndexStatus = getRequiredIndexStatus( properties ); final int indexManagementWaitTimeout = getIndexManagementWaitTimeout( properties ); final boolean multitenancyEnabled = context.isMultitenancyEnabled(); final DynamicType dynamicMapping = getDynamicMapping( properties ); this.actualIndexName, this.refreshAfterWrite, context.getUninitializedSearchIntegrator(), elasticsearchService.getWorkFactory() );
LuceneBackendResources(WorkerBuildContext context, DirectoryBasedIndexManager indexManager, Properties props, AbstractWorkspaceImpl workspace) { this.indexName = indexManager.getIndexName(); this.indexManager = indexManager; this.errorHandler = context.getErrorHandler(); this.workspace = workspace; final ReentrantReadWriteLock indexReadWriteLock = new ReentrantReadWriteLock(); this.readLock = indexReadWriteLock.readLock(); this.writeLock = indexReadWriteLock.writeLock(); final int maxQueueLength = PropertiesParseHelper.extractMaxQueueSize( indexName, props ); this.asynchExecutor = new LazyExecutorHolder( maxQueueLength, indexName, "Index updates queue processor for index " + indexName ); }
/** * Returns the configured value of {@link org.hibernate.search.cfg.Environment#INDEX_METADATA_COMPLETE} for this specific index. * If no value is set, the default is defined by {@link org.hibernate.search.cfg.spi.SearchConfiguration#isIndexMetadataComplete()}. * * @param indexProps The index configuration properties * @param context The WorkerBuildContext provides a view of the default setting * * @return {@code true} when the index metadata is fully defined. */ public static boolean isIndexMetadataComplete(Properties indexProps, WorkerBuildContext context) { return ConfigurationParseHelper.getBooleanValue( indexProps, Environment.INDEX_METADATA_COMPLETE, context.isIndexMetadataComplete() ); }
@Override public void initialize(Properties props, WorkerBuildContext context, IndexManager indexManager) { serviceManager = context.getServiceManager(); this.props = props; this.isTransactional = context.enlistWorkerInTransaction(); this.jmsQueueName = props.getProperty( JMS_QUEUE ); this.indexName = indexManager.getIndexName(); this.integrator = context.getUninitializedSearchIntegrator(); this.factory = initializeJMSQueueConnectionFactory( props ); if ( ! isTransactional ) { // if we are not transactional, we can eagerly initialize the queue and connection this.jmsQueue = initializeJMSQueue( factory, props ); this.connection = initializeJMSConnection( factory, props ); } }
@Override public void initialize(String indexName, Properties properties, Similarity similarity, WorkerBuildContext context) { this.serviceManager = context.getServiceManager(); final ElasticsearchIndexStatus requiredIndexStatus = getRequiredIndexStatus( properties ); final int indexManagementWaitTimeout = getIndexManagementWaitTimeout( properties ); final boolean multitenancyEnabled = context.isMultitenancyEnabled(); final DynamicType dynamicMapping = getDynamicMapping( properties ); this.actualIndexName, this.refreshAfterWrite, context.getUninitializedSearchIntegrator(), elasticsearchService.getWorkFactory() );
public AbstractWorkspaceImpl(DirectoryBasedIndexManager indexManager, WorkerBuildContext context, Properties cfg) { this.indexManager = indexManager; this.optimizerStrategy = indexManager.getOptimizerStrategy(); this.writerHolder = new IndexWriterHolder( context.getErrorHandler(), indexManager ); this.indexMetadataIsComplete = PropertiesParseHelper.isIndexMetadataComplete( cfg, context ); this.deleteByTermEnforced = context.isDeleteByTermEnforced(); this.serviceManager = context.getServiceManager(); }
@Override public void initialize(Properties props, WorkerBuildContext context, QueueingProcessor queueingProcessor) { this.queueingProcessor = queueingProcessor; this.factory = context.getUninitializedSearchIntegrator(); this.transactionExpected = context.isTransactionManagerExpected(); this.instanceInitializer = context.getInstanceInitializer(); this.enlistInTransaction = ConfigurationParseHelper.getBooleanValue( props, Environment.WORKER_ENLIST_IN_TRANSACTION, false ); }
LuceneBackendResources(WorkerBuildContext context, DirectoryBasedIndexManager indexManager, Properties props, AbstractWorkspaceImpl workspace) { this.indexName = indexManager.getIndexName(); this.indexManager = indexManager; this.errorHandler = context.getErrorHandler(); this.workspace = workspace; final ReentrantReadWriteLock indexReadWriteLock = new ReentrantReadWriteLock(); this.readLock = indexReadWriteLock.readLock(); this.writeLock = indexReadWriteLock.writeLock(); final int maxQueueLength = PropertiesParseHelper.extractMaxQueueSize( indexName, props ); this.asynchExecutor = new LazyExecutorHolder( maxQueueLength, indexName, "Index updates queue processor for index " + indexName ); }
/** * Returns the configured value of {@link org.hibernate.search.cfg.Environment#INDEX_METADATA_COMPLETE} for this specific index. * If no value is set, the default is defined by {@link org.hibernate.search.cfg.spi.SearchConfiguration#isIndexMetadataComplete()}. * * @param indexProps The index configuration properties * @param context The WorkerBuildContext provides a view of the default setting * * @return {@code true} when the index metadata is fully defined. */ public static boolean isIndexMetadataComplete(Properties indexProps, WorkerBuildContext context) { return ConfigurationParseHelper.getBooleanValue( indexProps, Environment.INDEX_METADATA_COMPLETE, context.isIndexMetadataComplete() ); }
private static Worker instantiateExplicitlyConfiguredWorker(WorkerBuildContext buildContext, String workerImplClassName) { ServiceManager serviceManager = buildContext.getServiceManager(); return ClassLoaderHelper.instanceFromName( Worker.class, workerImplClassName, "worker", serviceManager ); }
public ExclusiveIndexWorkspaceImpl(DirectoryBasedIndexManager indexManager, WorkerBuildContext context, Properties cfg) { super( indexManager, context, cfg ); boolean async = ! BackendFactory.isConfiguredAsSync( cfg ); if ( async ) { int commitInterval = PropertiesParseHelper.extractFlushInterval( indexManager.getIndexName(), cfg ); ErrorHandler errorHandler = context.getErrorHandler(); commitPolicy = new ScheduledCommitPolicy( writerHolder, indexManager.getIndexName(), commitInterval, errorHandler ); } else { commitPolicy = new PerChangeSetCommitPolicy( writerHolder ); } }
private static IndexManagerGroupHolder getGroupHolder(IndexManager indexManager, WorkerBuildContext buildContext) { IndexManagerHolder indexManagerHolder = buildContext.getAllIndexesManager(); return indexManagerHolder.getGroupHolderByIndexManager( indexManager ); }
private Similarity getConfiguredPerIndexSimilarity(String directoryProviderName, Properties indexProperties, WorkerBuildContext buildContext) { Similarity configLevelSimilarity = null; String similarityClassName = indexProperties.getProperty( Environment.SIMILARITY_CLASS_PER_INDEX ); if ( similarityClassName != null ) { ServiceManager serviceManager = buildContext.getServiceManager(); configLevelSimilarity = ClassLoaderHelper.instanceFromName( Similarity.class, similarityClassName, "Similarity class for index " + directoryProviderName, serviceManager ); } return configLevelSimilarity; }
public ExclusiveIndexWorkspaceImpl(DirectoryBasedIndexManager indexManager, WorkerBuildContext context, Properties cfg) { super( indexManager, context, cfg ); boolean async = ! BackendFactory.isConfiguredAsSync( cfg ); if ( async ) { int commitInterval = PropertiesParseHelper.extractFlushInterval( indexManager.getIndexName(), cfg ); ErrorHandler errorHandler = context.getErrorHandler(); commitPolicy = new ScheduledCommitPolicy( writerHolder, indexManager.getIndexName(), commitInterval, errorHandler ); } else { commitPolicy = new PerChangeSetCommitPolicy( writerHolder ); } }