/** * Initializes a {@link JpaTokenStore} as specified through this Builder. * * @return a {@link JpaTokenStore} as specified through this Builder */ public JpaTokenStore build() { return new JpaTokenStore(this); }
@ConditionalOnMissingBean @Bean public TokenStore tokenStore(Serializer serializer, EntityManagerProvider entityManagerProvider) { return JpaTokenStore.builder() .entityManagerProvider(entityManagerProvider) .serializer(serializer) .build(); }
@Override public void initializeTokenSegments(String processorName, int segmentCount, TrackingToken initialToken) throws UnableToClaimTokenException { EntityManager entityManager = entityManagerProvider.getEntityManager(); if (fetchSegments(processorName).length > 0) { throw new UnableToClaimTokenException("Could not initialize segments. Some segments were already present."); } for (int segment = 0; segment < segmentCount; segment++) { TokenEntry token = new TokenEntry(processorName, segment, initialToken, serializer); entityManager.persist(token); } entityManager.flush(); }
@Override public void storeToken(TrackingToken token, String processorName, int segment) { EntityManager entityManager = entityManagerProvider.getEntityManager(); TokenEntry tokenEntry = loadOrCreateToken(processorName, segment, entityManager); tokenEntry.updateToken(token, serializer); }
@Override public void initializeTokenSegments(String processorName, int segmentCount) throws UnableToClaimTokenException { initializeTokenSegments(processorName, segmentCount, null); }
@Override public TrackingToken fetchToken(String processorName, int segment) { EntityManager entityManager = entityManagerProvider.getEntityManager(); return loadOrCreateToken(processorName, segment, entityManager).getToken(serializer); }
@Override public void initializeTokenSegments(String processorName, int segmentCount) throws UnableToClaimTokenException { initializeTokenSegments(processorName, segmentCount, null); }
@Override public TrackingToken fetchToken(String processorName, int segment) { EntityManager entityManager = entityManagerProvider.getEntityManager(); return loadOrCreateToken(processorName, segment, entityManager).getToken(serializer); }
c -> JpaTokenStore.builder() .entityManagerProvider(c.getComponent(EntityManagerProvider.class)) .serializer(c.serializer())
/** * Initializes a {@link JpaTokenStore} as specified through this Builder. * * @return a {@link JpaTokenStore} as specified through this Builder */ public JpaTokenStore build() { return new JpaTokenStore(this); }
@Override public void initializeTokenSegments(String processorName, int segmentCount) throws UnableToClaimTokenException { initializeTokenSegments(processorName, segmentCount, null); }
@Override public void initializeTokenSegments(String processorName, int segmentCount, TrackingToken initialToken) throws UnableToClaimTokenException { EntityManager entityManager = entityManagerProvider.getEntityManager(); if (fetchSegments(processorName).length > 0) { throw new UnableToClaimTokenException("Could not initialize segments. Some segments were already present."); } for (int segment = 0; segment < segmentCount; segment++) { TokenEntry token = new TokenEntry(processorName, segment, initialToken, serializer); entityManager.persist(token); } entityManager.flush(); }
@Override public void storeToken(TrackingToken token, String processorName, int segment) { EntityManager entityManager = entityManagerProvider.getEntityManager(); TokenEntry tokenEntry = loadOrCreateToken(processorName, segment, entityManager); tokenEntry.updateToken(token, serializer); }
@ConditionalOnMissingBean @Bean public TokenStore tokenStore(Serializer serializer, EntityManagerProvider entityManagerProvider) { return JpaTokenStore.builder() .entityManagerProvider(entityManagerProvider) .serializer(serializer) .build(); }
)) .registerComponent(TokenStore.class, c -> new JpaTokenStore(c.getComponent(EntityManagerProvider.class), c.serializer())) .registerComponent(SagaStore.class,
@Override public void initializeTokenSegments(String processorName, int segmentCount, TrackingToken initialToken) throws UnableToClaimTokenException { EntityManager entityManager = entityManagerProvider.getEntityManager(); if (fetchSegments(processorName).length > 0) { throw new UnableToClaimTokenException("Could not initialize segments. Some segments were already present."); } for (int segment = 0; segment < segmentCount; segment++) { TokenEntry token = new TokenEntry(processorName, segment, initialToken, serializer); entityManager.persist(token); } entityManager.flush(); }
@Override public TrackingToken fetchToken(String processorName, int segment) { EntityManager entityManager = entityManagerProvider.getEntityManager(); return loadOrCreateToken(processorName, segment, entityManager).getToken(serializer); }
c -> JpaTokenStore.builder() .entityManagerProvider(c.getComponent(EntityManagerProvider.class)) .serializer(c.serializer())
@Override public void storeToken(TrackingToken token, String processorName, int segment) { EntityManager entityManager = entityManagerProvider.getEntityManager(); TokenEntry tokenEntry = loadOrCreateToken(processorName, segment, entityManager); tokenEntry.updateToken(token, serializer); }