Search in sources :

Example 1 with PostJoinAwareService

use of com.hazelcast.spi.PostJoinAwareService in project hazelcast by hazelcast.

the class AbstractMapServiceFactory method createMapService.

/**
     * Returns a {@link MapService} object by populating it with required
     * auxiliary services.
     *
     * @return {@link MapService} object
     */
@Override
public MapService createMapService() {
    MapServiceContext mapServiceContext = getMapServiceContext();
    ManagedService managedService = createManagedService();
    CountingMigrationAwareService migrationAwareService = createMigrationAwareService();
    TransactionalService transactionalService = createTransactionalService();
    RemoteService remoteService = createRemoteService();
    EventPublishingService eventPublishingService = createEventPublishingService();
    PostJoinAwareService postJoinAwareService = createPostJoinAwareService();
    SplitBrainHandlerService splitBrainHandlerService = createSplitBrainHandlerService();
    ReplicationSupportingService replicationSupportingService = createReplicationSupportingService();
    StatisticsAwareService statisticsAwareService = createStatisticsAwareService();
    PartitionAwareService partitionAwareService = createPartitionAwareService();
    QuorumAwareService quorumAwareService = createQuorumAwareService();
    ClientAwareService clientAwareService = createClientAwareService();
    checkNotNull(mapServiceContext, "mapServiceContext should not be null");
    checkNotNull(managedService, "managedService should not be null");
    checkNotNull(migrationAwareService, "migrationAwareService should not be null");
    checkNotNull(transactionalService, "transactionalService should not be null");
    checkNotNull(remoteService, "remoteService should not be null");
    checkNotNull(eventPublishingService, "eventPublishingService should not be null");
    checkNotNull(postJoinAwareService, "postJoinAwareService should not be null");
    checkNotNull(splitBrainHandlerService, "splitBrainHandlerService should not be null");
    checkNotNull(replicationSupportingService, "replicationSupportingService should not be null");
    checkNotNull(statisticsAwareService, "statisticsAwareService should not be null");
    checkNotNull(partitionAwareService, "partitionAwareService should not be null");
    checkNotNull(quorumAwareService, "quorumAwareService should not be null");
    checkNotNull(clientAwareService, "clientAwareService should not be null");
    MapService mapService = new MapService();
    mapService.managedService = managedService;
    mapService.migrationAwareService = migrationAwareService;
    mapService.transactionalService = transactionalService;
    mapService.remoteService = remoteService;
    mapService.eventPublishingService = eventPublishingService;
    mapService.postJoinAwareService = postJoinAwareService;
    mapService.splitBrainHandlerService = splitBrainHandlerService;
    mapService.replicationSupportingService = replicationSupportingService;
    mapService.statisticsAwareService = statisticsAwareService;
    mapService.mapServiceContext = mapServiceContext;
    mapService.partitionAwareService = partitionAwareService;
    mapService.quorumAwareService = quorumAwareService;
    mapService.clientAwareService = clientAwareService;
    mapServiceContext.setService(mapService);
    return mapService;
}
Also used : ManagedService(com.hazelcast.spi.ManagedService) StatisticsAwareService(com.hazelcast.spi.StatisticsAwareService) TransactionalService(com.hazelcast.spi.TransactionalService) QuorumAwareService(com.hazelcast.spi.QuorumAwareService) CountingMigrationAwareService(com.hazelcast.spi.impl.CountingMigrationAwareService) ClientAwareService(com.hazelcast.spi.ClientAwareService) PostJoinAwareService(com.hazelcast.spi.PostJoinAwareService) RemoteService(com.hazelcast.spi.RemoteService) ReplicationSupportingService(com.hazelcast.spi.ReplicationSupportingService) SplitBrainHandlerService(com.hazelcast.spi.SplitBrainHandlerService) PartitionAwareService(com.hazelcast.spi.PartitionAwareService) EventPublishingService(com.hazelcast.spi.EventPublishingService)

Example 2 with PostJoinAwareService

use of com.hazelcast.spi.PostJoinAwareService in project hazelcast by hazelcast.

the class NodeEngineImpl method getPostJoinOperations.

/**
     * Post join operations must be lock free; means no locks at all;
     * no partition locks, no key-based locks, no service level locks!
     * <p/>
     * Post join operations should return response, at least a null response.
     * <p/>
     */
public Operation[] getPostJoinOperations() {
    final Collection<Operation> postJoinOps = new LinkedList<Operation>();
    Operation eventPostJoinOp = eventService.getPostJoinOperation();
    if (eventPostJoinOp != null) {
        postJoinOps.add(eventPostJoinOp);
    }
    Collection<PostJoinAwareService> services = getServices(PostJoinAwareService.class);
    for (PostJoinAwareService service : services) {
        final Operation postJoinOperation = service.getPostJoinOperation();
        if (postJoinOperation != null) {
            if (postJoinOperation.getPartitionId() >= 0) {
                logger.severe("Post-join operations cannot implement PartitionAwareOperation! Service: " + service + ", Operation: " + postJoinOperation);
                continue;
            }
            postJoinOps.add(postJoinOperation);
        }
    }
    return postJoinOps.isEmpty() ? null : postJoinOps.toArray(new Operation[postJoinOps.size()]);
}
Also used : PostJoinAwareService(com.hazelcast.spi.PostJoinAwareService) Operation(com.hazelcast.spi.Operation) LinkedList(java.util.LinkedList)

Aggregations

PostJoinAwareService (com.hazelcast.spi.PostJoinAwareService)2 ClientAwareService (com.hazelcast.spi.ClientAwareService)1 EventPublishingService (com.hazelcast.spi.EventPublishingService)1 ManagedService (com.hazelcast.spi.ManagedService)1 Operation (com.hazelcast.spi.Operation)1 PartitionAwareService (com.hazelcast.spi.PartitionAwareService)1 QuorumAwareService (com.hazelcast.spi.QuorumAwareService)1 RemoteService (com.hazelcast.spi.RemoteService)1 ReplicationSupportingService (com.hazelcast.spi.ReplicationSupportingService)1 SplitBrainHandlerService (com.hazelcast.spi.SplitBrainHandlerService)1 StatisticsAwareService (com.hazelcast.spi.StatisticsAwareService)1 TransactionalService (com.hazelcast.spi.TransactionalService)1 CountingMigrationAwareService (com.hazelcast.spi.impl.CountingMigrationAwareService)1 LinkedList (java.util.LinkedList)1