org.datanucleus.ExecutionContext.getStoreManager()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(8.7k)|赞(0)|评价(0)|浏览(123)

本文整理了Java中org.datanucleus.ExecutionContext.getStoreManager()方法的一些代码示例,展示了ExecutionContext.getStoreManager()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ExecutionContext.getStoreManager()方法的具体详情如下:
包路径:org.datanucleus.ExecutionContext
类名称:ExecutionContext
方法名:getStoreManager

ExecutionContext.getStoreManager介绍

暂无

代码示例

代码示例来源:origin: org.datanucleus/datanucleus-json

public FetchFieldManager(ExecutionContext ec, AbstractClassMetaData cmd, JSONObject jsonobj, Table table)
{
  super(ec, cmd);
  this.jsonobj = jsonobj;
  this.storeMgr = ec.getStoreManager();
  this.table = table;
}

代码示例来源:origin: org.datanucleus/datanucleus-json

public FetchFieldManager(ObjectProvider op, JSONObject jsonobj, Table table)
{
  super(op);
  this.jsonobj = jsonobj;
  this.storeMgr = ec.getStoreManager();
  this.table = table;
}

代码示例来源:origin: stackoverflow.com

import org.datanucleus.ExecutionContext;
import org.datanucleus.store.NucleusConnection;

ExecutionContext ec = em.unwrap(ExecutionContext.class);
NucleusConnection conn = ec.getStoreManager().getNucleusConnection(ec);
DB db = (DB)conn.getNativeConnection();

代码示例来源:origin: org.datanucleus/datanucleus-api-jdo

/**
 * Mutator for the timeout to use for datastore reads.
 * @param timeout Datastore read timeout interval (millisecs)
 */
public void setDatastoreReadTimeoutMillis(Integer timeout)
{
  assertIsOpen();
  if (!ec.getStoreManager().getSupportedOptions().contains(StoreManager.OPTION_DATASTORE_TIMEOUT))
  {
    throw new JDOUnsupportedOptionException("This datastore doesn't support read timeouts");
  }
  ec.setProperty(PropertyNames.PROPERTY_DATASTORE_READ_TIMEOUT, timeout);
}

代码示例来源:origin: org.datanucleus/datanucleus-api-jdo

/**
 * Mutator for the timeout to use for datastore writes.
 * @param timeout Datastore write timeout interval (millisecs)
 */
public void setDatastoreWriteTimeoutMillis(Integer timeout)
{
  assertIsOpen();
  if (!ec.getStoreManager().getSupportedOptions().contains(StoreManager.OPTION_DATASTORE_TIMEOUT))
  {
    throw new JDOUnsupportedOptionException("This datastore doesn't support write timeouts");
  }
  ec.setProperty(PropertyNames.PROPERTY_DATASTORE_WRITE_TIMEOUT, timeout);
}

代码示例来源:origin: org.datanucleus/datanucleus-api-jdo

/**
 * Accessor for a connection on the datastore. See JDO 2.0 spec section 12.16
 * @return The JDO connection to the datastore
 * @see javax.jdo.PersistenceManager#getDataStoreConnection()
 */
public JDOConnection getDataStoreConnection()
{
  try
  {
    NucleusConnection nconn = ec.getStoreManager().getNucleusConnection(ec);
    if (ec.getStoreManager().isJdbcStore())
    {
      // JDO spec, if the datastore supports JDBC then the JDOConnection must implement Connection
      return new JDOConnectionJDBCImpl(nconn);
    }
    // Wrap the NucleusConnection with a JDOConnectionImpl
    return new JDOConnectionImpl(nconn);
  }
  catch (NucleusException ne)
  {
    throw NucleusJDOHelper.getJDOExceptionForNucleusException(ne);
  }
}

代码示例来源:origin: org.datanucleus/datanucleus-api-jdo

/**
 * Accessor for the date on the datastore.
 * @return Date on the datastore
 */
public Date getServerDate()
{
  assertIsOpen();
  try
  {
    return ec.getStoreManager().getDatastoreDate();
  }
  catch (NucleusException ne)
  {
    throw NucleusJDOHelper.getJDOExceptionForNucleusException(ne);
  }
}

代码示例来源:origin: org.datanucleus/datanucleus-odf

ODFStoreManager storeMgr = (ODFStoreManager)ec.getStoreManager();
while (cmdIter.hasNext())

代码示例来源:origin: org.datanucleus/datanucleus-xml

public FetchFieldManager(ObjectProvider op, Document doc)
{
  this.op = op;
  this.doc = doc;
  ExecutionContext ec = op.getExecutionContext();
  node = XMLUtils.findNode(doc, op);
  try
  {
    value = ((XMLStoreManager)ec.getStoreManager()).getJAXBHandler().unmarshall(op.getObject().getClass(), node, op.getExecutionContext().getClassLoaderResolver());
  }
  catch (JAXBException e)
  {
    NucleusLogger.DATASTORE_RETRIEVE.warn("Exception unmarshalling XML", e);
  }
}

代码示例来源:origin: org.datanucleus/datanucleus-mongodb

public static List<Long> performMongoCount(DB db, BasicDBObject filterObject, Class candidateClass, boolean subclasses, ExecutionContext ec)
throws MongoException 
{
  StoreManager storeMgr = ec.getStoreManager();
  long count = 0;
  for (AbstractClassMetaData cmd : MetaDataUtils.getMetaDataForCandidates(candidateClass, subclasses, ec)) 
  {
    Table table = storeMgr.getStoreDataForClass(cmd.getFullClassName()).getTable();
    String collectionName = table.getName();
    count += db.getCollection(collectionName).count(filterObject);
  }
  List<Long> results = new LinkedList<>();
  results.add(count);
  if (ec.getStatistics() != null)
  {
    // Add to statistics
    ec.getStatistics().incrementNumReads();
  }
  return results;
}

代码示例来源:origin: org.datanucleus/datanucleus-rdbms

private boolean isClassSuitableForBatching(ExecutionContext ec, AbstractClassMetaData cmd)
{
  if (cmd.hasRelations(ec.getClassLoaderResolver()))
  {
    return false;
  }
  RDBMSStoreManager storeMgr = (RDBMSStoreManager) ec.getStoreManager();
  ClassTable table = (ClassTable)storeMgr.getDatastoreClass(cmd.getFullClassName(), ec.getClassLoaderResolver());
  while (true)
  {
    if (!isTableSuitableForBatching(table))
    {
      return false;
    }
    table = (ClassTable) table.getSuperDatastoreClass();
    if (table == null)
    {
      // No more tables for this class
      break;
    }
  }
  return true;
}

代码示例来源:origin: org.datanucleus/datanucleus-neo4j

/**
 * Convenience method that returns the actual class that this identity is an instance of.
 * Makes use of the DN_TYPES index to find the ultimate subclass that it is an instanceof.
 * @param id The identity
 * @param rootCmd ClassMetaData for the root class in the inheritance tree
 * @param ec ExecutionContext
 * @param clr ClassLoader resolver
 * @return The class name of the object with this id
 */
public static String getClassNameForIdentity(Object id, AbstractClassMetaData rootCmd, ExecutionContext ec,
    ClassLoaderResolver clr)
{
  StoreManager storeMgr = ec.getStoreManager();
  ManagedConnection mconn = storeMgr.getConnectionManager().getConnection(ec);
  try
  {
    GraphDatabaseService db = (GraphDatabaseService)mconn.getConnection();
    PropertyContainer propObj = Neo4jUtils.getPropertyContainerForObjectId(db, ec, rootCmd, id);
    if (propObj instanceof Node)
    {
      return getClassMetaDataForPropertyContainer(propObj, ec, rootCmd).getFullClassName();
    }
    // Don't support polymorphism in objects persisted as Relationship TODO Allow this?
    return rootCmd.getFullClassName();
  }
  finally
  {
    mconn.release();
  }
}

代码示例来源:origin: org.datanucleus/datanucleus-neo4j

ObjectProvider op = ec.findObjectProvider(pc);
StoreData sd = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName());
if (sd == null)
  ec.getStoreManager().manageClasses(ec.getClassLoaderResolver(), cmd.getFullClassName());
  sd = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName());

代码示例来源:origin: org.datanucleus/datanucleus-neo4j

protected static Object getObjectUsingApplicationIdForDBObject(final PropertyContainer propObj, 
    final AbstractClassMetaData cmd, final ExecutionContext ec, boolean ignoreCache, final int[] fpMembers)
  StoreData sd = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName());
  if (sd == null)
    ec.getStoreManager().manageClasses(ec.getClassLoaderResolver(), cmd.getFullClassName());
    sd = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName());

代码示例来源:origin: org.datanucleus/datanucleus-neo4j

protected static Object getObjectUsingDatastoreIdForDBObject(final PropertyContainer propObj, 
    final AbstractClassMetaData cmd, final ExecutionContext ec, boolean ignoreCache, final int[] fpMembers)
  StoreData sd = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName());
  if (sd == null)
    ec.getStoreManager().manageClasses(ec.getClassLoaderResolver(), cmd.getFullClassName());
    sd = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName());

代码示例来源:origin: org.datanucleus/datanucleus-mongodb

Table table = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName()).getTable();
if (cmd.hasDiscriminatorStrategy())

代码示例来源:origin: org.datanucleus/datanucleus-api-jdo

Query internalQuery = ec.getStoreManager().newQuery(Query.LANGUAGE_JDOQL, ec, toString());

代码示例来源:origin: org.datanucleus/datanucleus-mongodb

public static Object getObjectUsingApplicationIdForDBObject(final DBObject dbObject, final AbstractClassMetaData cmd, final ExecutionContext ec, boolean ignoreCache, final int[] fpMembers)
  Table table = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName()).getTable();
  final FetchFieldManager fm = new FetchFieldManager(ec, dbObject, cmd, table);
  Object id = IdentityUtils.getApplicationIdentityForResultSetRow(ec, cmd, null, false, fm);

代码示例来源:origin: org.datanucleus/datanucleus-mongodb

public static Object getObjectUsingNondurableIdForDBObject(final DBObject dbObject, final AbstractClassMetaData cmd, final ExecutionContext ec, boolean ignoreCache, final int[] fpMembers)
  Table table = ec.getStoreManager().getStoreDataForClass(cmd.getFullClassName()).getTable();
  SCOID oid = new SCOID(cmd.getFullClassName());
  final FetchFieldManager fm = new FetchFieldManager(ec, dbObject, cmd, table); // TODO Use the constructor with op so we always wrap SCOs

代码示例来源:origin: org.datanucleus/datanucleus-mongodb

public static Object getObjectUsingDatastoreIdForDBObject(final DBObject dbObject, final AbstractClassMetaData cmd, final ExecutionContext ec, boolean ignoreCache, final int[] fpMembers)
  StoreManager storeMgr = ec.getStoreManager();
  Table table = storeMgr.getStoreDataForClass(cmd.getFullClassName()).getTable();
  if (storeMgr.isValueGenerationStrategyDatastoreAttributed(cmd, -1))

相关文章