Java 类com.datastax.driver.core.CodecRegistry 实例源码
项目:iotplatform
文件:CassandraAbstractDao.java
protected Session getSession() {
if (session == null) {
session = cluster.getSession();
defaultReadLevel = cluster.getDefaultReadConsistencyLevel();
defaultWriteLevel = cluster.getDefaultWriteConsistencyLevel();
CodecRegistry registry = session.getCluster().getConfiguration().getCodecRegistry();
registerCodecIfNotFound(registry, new JsonCodec());
registerCodecIfNotFound(registry, new DeviceCredentialsTypeCodec());
registerCodecIfNotFound(registry, new AuthorityCodec());
registerCodecIfNotFound(registry, new ComponentLifecycleStateCodec());
registerCodecIfNotFound(registry, new ComponentTypeCodec());
registerCodecIfNotFound(registry, new ComponentScopeCodec());
registerCodecIfNotFound(registry, new EntityTypeCodec());
}
return session;
}
项目:cassandra-reaper
文件:CassandraStorage.java
public CassandraStorage(ReaperApplicationConfiguration config, Environment environment) {
CassandraFactory cassandraFactory = config.getCassandraFactory();
overrideQueryOptions(cassandraFactory);
overrideRetryPolicy(cassandraFactory);
overridePoolingOptions(cassandraFactory);
cassandra = cassandraFactory.build(environment);
if (config.getActivateQueryLogger()) {
cassandra.register(QueryLogger.builder().build());
}
CodecRegistry codecRegistry = cassandra.getConfiguration().getCodecRegistry();
codecRegistry.register(new DateTimeCodec());
session = cassandra.connect(config.getCassandraFactory().getKeyspace());
initializeAndUpgradeSchema(cassandra, session, config.getCassandraFactory().getKeyspace());
prepareStatements();
}
项目:apex-malhar
文件:AbstractUpsertOutputOperator.java
private void registerCodecs()
{
complexTypeCodecs = getCodecsForUserDefinedTypes();
if (complexTypeCodecs != null) {
CodecRegistry registry = cluster.getConfiguration().getCodecRegistry();
if (cluster.getConfiguration().getProtocolOptions().getProtocolVersion().toInt() < 4) {
LOG.error("Custom codecs are not supported for protocol version < 4");
throw new RuntimeException("Custom codecs are not supported for protocol version < 4");
}
for (String typeCodecStr : complexTypeCodecs.keySet()) {
TypeCodec codec = complexTypeCodecs.get(typeCodecStr);
registry.register(codec);
userDefinedTypesClass.put(typeCodecStr, codec.getJavaType().getRawType());
}
} else {
complexTypeCodecs = new HashMap<>();
}
}
项目:apex-malhar
文件:UserUpsertOperator.java
@Override
public Map<String, TypeCodec> getCodecsForUserDefinedTypes()
{
Map<String, TypeCodec> allCodecs = new HashMap<>();
CodecRegistry codecRegistry = cluster.getConfiguration().getCodecRegistry();
UserType addressType = cluster.getMetadata().getKeyspace(getConnectionStateManager().getKeyspaceName())
.getUserType("address");
TypeCodec<UDTValue> addressTypeCodec = codecRegistry.codecFor(addressType);
AddressCodec addressCodec = new AddressCodec(addressTypeCodec, Address.class);
allCodecs.put("currentaddress", addressCodec);
UserType userFullNameType = cluster.getMetadata().getKeyspace(getConnectionStateManager().getKeyspaceName())
.getUserType("fullname");
TypeCodec<UDTValue> userFullNameTypeCodec = codecRegistry.codecFor(userFullNameType);
FullNameCodec fullNameCodec = new FullNameCodec(userFullNameTypeCodec, FullName.class);
allCodecs.put("username", fullNameCodec);
return allCodecs;
}
项目:atlas-deer
文件:CassandraInit.java
public static DatastaxCassandraService datastaxCassandraService() {
return DatastaxCassandraService.builder()
.withNodes(SEEDS)
.withConnectionsPerHostLocal(8)
.withConnectionsPerHostRemote(2)
.withCodecRegistry(new CodecRegistry()
.register(InstantCodec.instance)
.register(LocalDateCodec.instance)
.register(new JacksonJsonCodec<>(
org.atlasapi.content.v2.model.Clip.Wrapper.class,
MAPPER
))
.register(new JacksonJsonCodec<>(
org.atlasapi.content.v2.model.Encoding.Wrapper.class,
MAPPER
))
)
.build();
}
项目:state-channels
文件:CassandraConfiguration.java
private Cluster doCreateCluster(CassandraProperties properties) {
Cluster cluster = Cluster.builder()
.withClusterName(properties.getCluster())
.withPort(properties.getPort())
.addContactPoints(properties.getContactPoints())
.withTimestampGenerator(getTimestampGenerator())
.withPoolingOptions(
//TODO some default options - move to config
new PoolingOptions()
.setConnectionsPerHost(HostDistance.LOCAL, 4, 4)
.setConnectionsPerHost(HostDistance.REMOTE, 2, 2)
.setMaxRequestsPerConnection(HostDistance.LOCAL, 1024)
.setMaxRequestsPerConnection(HostDistance.REMOTE, 256)
)
.build();
//almost all queries are idempotent except counter updates, so it's easier to mark them as idempotent
cluster.getConfiguration().getQueryOptions().setDefaultIdempotence(true);
CodecRegistry codecRegistry = cluster.getConfiguration().getCodecRegistry();
TupleType tupleType = cluster.getMetadata()
.newTupleType(DataType.timestamp(), DataType.varchar());
codecRegistry.register(new ZonedDateTimeCodec(tupleType));
QueryLogger queryLogger = QueryLogger.builder()
.withConstantThreshold(100)
.withMaxQueryStringLength(200)
.build();
cluster.register(queryLogger);
return cluster;
}
项目:iotplatform
文件:CassandraAbstractDao.java
private void registerCodecIfNotFound(CodecRegistry registry, TypeCodec<?> codec) {
try {
registry.codecFor(codec.getCqlType(), codec.getJavaType());
} catch (CodecNotFoundException e) {
registry.register(codec);
}
}
项目:emodb
文件:CqlDeltaIterator.java
public CqlDeltaIterator(Iterator<Row> iterator, final int blockIndex, final int changeIdIndex, final int contentIndex, boolean reversed, int prefixLength,
ProtocolVersion protocolVersion, CodecRegistry codecRegistry) {
super(iterator, reversed, prefixLength);
_blockIndex = blockIndex;
_changeIdIndex = changeIdIndex;
_contentIndex = contentIndex;
_protocolVersion = protocolVersion;
_codecRegistry = codecRegistry;
}
项目:datacollector
文件:CassandraTarget.java
private Cluster getCluster() throws StageException {
return Cluster.builder()
.addContactPoints(contactPoints)
// If authentication is disabled on the C* cluster, this method has no effect.
.withAuthProvider(getAuthProvider())
.withProtocolVersion(conf.protocolVersion)
.withPort(conf.port)
.withCodecRegistry(new CodecRegistry().register(SDC_CODECS))
.build();
}
项目:monasca-persister
文件:CassandraMetricBatch.java
public CassandraMetricBatch(Metadata metadata, ProtocolOptions protocol, CodecRegistry codec,
TokenAwarePolicy lbPolicy, int batchLimit) {
this.protocol = protocol;
this.codec = codec;
this.metadata = metadata;
this.policy = lbPolicy;
metricQueries = new HashMap<>();
this.batchLimit = batchLimit;
metricQueries = new HashMap<>();
dimensionQueries = new HashMap<>();
dimensionMetricQueries = new HashMap<>();
metricDimensionQueries = new HashMap<>();
measurementQueries = new HashMap<>();
}
项目:Troilus
文件:UDTValueMapper.java
/**
* Serialize a field using the data type passed.
* @param dataType
* @param value
* @return
*/
@SuppressWarnings("unchecked")
public <T> ByteBuffer serialize(DataType dataType, Object value) {
final CodecRegistry codecRegistry = getCodecRegistry();
final TypeCodec<T> typeCodec = codecRegistry.codecFor(dataType);
return typeCodec.serialize((T)value, protocolVersion);
}
项目:ibm-performance-monitor
文件:ProfiledPreparedStatement.java
@Override
public CodecRegistry getCodecRegistry() {
return preparedStatement.getCodecRegistry();
}
项目:dOOv
文件:CassandraQueryBuilderTest.java
private static CodecRegistry codecRegistry() {
CodecRegistry registry = new CodecRegistry();
registry.register(LocalDateCodec.instance);
return registry;
}
项目:dOOv
文件:LiveCode.java
private static CodecRegistry codecRegistry() {
final CodecRegistry registry = new CodecRegistry();
registry.register(LocalDateCodec.instance);
return registry;
}
项目:monasca-persister
文件:CassandraCluster.java
public CodecRegistry getCodecRegistry() {
return cluster.getConfiguration().getCodecRegistry();
}
项目:Troilus
文件:UDTValueMapper.java
/**
* @param datatype the db datatype
* @param udtValue the udt value
* @param fieldtype1 the field 1 type
* @param fieldtype2 the field 2 type
* @param fieldname the fieldname
* @return the mapped value or <code>null</code>
*/
public <T> Object fromUdtValue(DataType datatype,
UDTValue udtValue,
Class<?> fieldtype1,
Class<?> fieldtype2,
String fieldname) {
final CodecRegistry codecRegistry = getCodecRegistry();
// build-in type
if (isBuildInType(datatype)) {
final TypeCodec<T> typeCodec = codecRegistry.codecFor(datatype);
try {
if (udtValue.isNull(fieldname)) return null;
return typeCodec.deserialize(udtValue.getBytesUnsafe(fieldname), protocolVersion);
} catch(IllegalArgumentException ex) {
return null;
}
// udt collection
} else if (datatype.isCollection()) {
// set
if (DataType.Name.SET == datatype.getName()) {
return fromUdtValues(datatype.getTypeArguments().get(0),
ImmutableSet.copyOf(udtValue.getSet(fieldname, UDTValue.class)),
fieldtype2);
// list
} else if (DataType.Name.LIST == datatype.getName()) {
return fromUdtValues(datatype.getTypeArguments().get(0),
ImmutableList.copyOf(udtValue.getList(fieldname, UDTValue.class)),
fieldtype2);
// map
} else {
if (isBuildInType(datatype.getTypeArguments().get(0))) {
return fromUdtValues(datatype.getTypeArguments().get(0),
datatype.getTypeArguments().get(1),
ImmutableMap.<Object, Object>copyOf(udtValue.getMap(fieldname, fieldtype1, UDTValue.class)),
fieldtype1,
fieldtype2);
} else if (isBuildInType(datatype.getTypeArguments().get(1))) {
return fromUdtValues(datatype.getTypeArguments().get(0),
datatype.getTypeArguments().get(1),
ImmutableMap.<Object, Object>copyOf(udtValue.getMap(fieldname, UDTValue.class, fieldtype2)),
fieldtype1,
fieldtype2);
} else {
return fromUdtValues(datatype.getTypeArguments().get(0),
datatype.getTypeArguments().get(1),
ImmutableMap.<Object, Object>copyOf(udtValue.getMap(fieldname, UDTValue.class, UDTValue.class)),
fieldtype1,
fieldtype2);
}
}
// udt
} else {
return fromUdtValue(datatype, udtValue, fieldtype1);
}
}
项目:Troilus
文件:UDTValueMapper.java
/**
* Serialize a field using the Codec for the value itself
* @param value
* @return
*/
public <T> ByteBuffer serialize(T value) {
final CodecRegistry codecRegistry = getCodecRegistry();
final TypeCodec<T> typeCodec = codecRegistry.codecFor(value);
return typeCodec.serialize((T)value, protocolVersion);
}
项目:jooby
文件:Cassandra.java
@SuppressWarnings({"rawtypes", "unchecked"})
@Override
public void configure(final Env env, final Config conf, final Binder binder) {
ConnectionString cstr = Try.apply(() -> ConnectionString.parse(db))
.orElseGet(() -> ConnectionString.parse(conf.getString(db)));
ServiceKey serviceKey = env.serviceKey();
Throwing.Function3<Class, String, Object, Void> bind = (type, name, value) -> {
serviceKey.generate(type, name, k -> {
binder.bind(k).toInstance(value);
});
return null;
};
Cluster.Builder builder = this.builder.get()
.addContactPoints(cstr.contactPoints())
.withPort(cstr.port());
// allow user configure cluster builder
if (ccbuilder != null) {
ccbuilder.accept(builder, conf);
}
log.debug("Starting {}", cstr);
Cluster cluster = builder.build();
// allow user configure cluster
if (cc != null) {
cc.accept(cluster, conf);
}
/** codecs */
Configuration configuration = cluster.getConfiguration();
CodecRegistry codecRegistry = configuration.getCodecRegistry();
// java 8 codecs
codecRegistry.register(
InstantCodec.instance,
LocalDateCodec.instance,
LocalTimeCodec.instance);
hierarchy(cluster.getClass(), type -> bind.apply(type, cstr.keyspace(), cluster));
/** Session + Mapper */
Session session = cluster.connect(cstr.keyspace());
hierarchy(session.getClass(), type -> bind.apply(type, cstr.keyspace(), session));
MappingManager manager = new MappingManager(session);
bind.apply(MappingManager.class, cstr.keyspace(), manager);
bind.apply(Datastore.class, cstr.keyspace(), new Datastore(manager));
/** accessors */
accesors.forEach(c -> {
Object accessor = manager.createAccessor(c);
binder.bind(c).toInstance(accessor);
});
env.router()
.map(new CassandraMapper());
env.onStop(() -> {
log.debug("Stopping {}", cstr);
Try.run(session::close)
.onFailure(x -> log.error("session.close() resulted in exception", x));
cluster.close();
log.info("Stopped {}", cstr);
});
}
项目:atlas-deer
文件:AtlasPersistenceModule.java
@Bean
public CassandraPersistenceModule persistenceModule() {
Iterable<String> seeds = Splitter.on(",").split(cassandraSeeds);
ConfiguredAstyanaxContext contextSupplier = new ConfiguredAstyanaxContext(cassandraCluster,
cassandraKeyspace,
seeds,
Integer.parseInt(cassandraPort),
Integer.parseInt(cassandraClientThreads),
Integer.parseInt(cassandraConnectionTimeout),
metricsModule.metrics()
);
AstyanaxContext<Keyspace> context = contextSupplier.get();
context.start();
DatastaxCassandraService cassandraService = DatastaxCassandraService.builder()
.withNodes(seeds)
.withConnectionsPerHostLocal(cassandraConnectionsPerHostLocal)
.withConnectionsPerHostRemote(cassandraConnectionsPerHostRemote)
.withCodecRegistry(new CodecRegistry()
.register(InstantCodec.instance)
.register(LocalDateCodec.instance)
.register(new JacksonJsonCodec<>(
org.atlasapi.content.v2.model.Clip.Wrapper.class,
MAPPER
))
.register(new JacksonJsonCodec<>(
org.atlasapi.content.v2.model.Encoding.Wrapper.class,
MAPPER
)))
.withConnectTimeoutMillis(cassandraDatastaxConnectionTimeout)
.withReadTimeoutMillis(cassandraDatastaxReadTimeout)
.build();
cassandraService.startAsync().awaitRunning();
return CassandraPersistenceModule.builder()
.withMessageSenderFactory(messaging.messageSenderFactory())
.withAstyanaxContext(context)
.withDatastaxCassandraService(cassandraService)
.withKeyspace(cassandraKeyspace)
.withIdGeneratorBuilder(idGeneratorBuilder())
.withContentHasher(ContentHashGenerator.create(
HashGenerator.create(),
UTIL_METRIC_PREFIX,
metricsModule.metrics()
))
.withEventHasher(eventV2 -> UUID.randomUUID().toString())
.withMetrics(metricsModule.metrics())
.build();
}
项目:Troilus
文件:UDTValueMapper.java
/**
* Get the CodecRegistry this uses to serialize/deserialize
* @return the codecRegistry
*/
public CodecRegistry getCodecRegistry() {
return this.codecRegistry;
}
项目:Troilus
文件:UDTValueMapper.java
/**
* jwestra: 3.x API change
* deserialize a single field in a UDTValue map
* @param dataType
* @param udtValue
* @param fieldname
* @return
*/
public <T> T deserialize(DataType dataType, UDTValue udtValue, String fieldname) {
final CodecRegistry codecRegistry = getCodecRegistry();
final TypeCodec<T> typeCodec = codecRegistry.codecFor(dataType);
return typeCodec.deserialize(udtValue.getBytesUnsafe(fieldname), protocolVersion);
}
项目:Troilus
文件:UDTValueMapper.java
/**
* Deserialize a whole ByteBuffer into an object
* @param dataType
* @param byteBuffer
* @return
*/
public <T> T deserialize(DataType dataType, ByteBuffer byteBuffer) {
final CodecRegistry codecRegistry = getCodecRegistry();
final TypeCodec<T> typeCodec = codecRegistry.codecFor(dataType);
return typeCodec.deserialize(byteBuffer, protocolVersion);
}
项目:exovert
文件:MetaData.java
public CodecRegistry getCodecRegistry() { return codecRegistry; }