• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ConnectionFactory类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中javax.resource.cci.ConnectionFactory的典型用法代码示例。如果您正苦于以下问题:Java ConnectionFactory类的具体用法?Java ConnectionFactory怎么用?Java ConnectionFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ConnectionFactory类属于javax.resource.cci包,在下文中一共展示了ConnectionFactory类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: doGetConnection

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
/**
 * Actually obtain a CCI Connection from the given ConnectionFactory.
 * Same as {@link #getConnection}, but throwing the original ResourceException.
 * <p>Is aware of a corresponding Connection bound to the current thread, for example
 * when using {@link CciLocalTransactionManager}. Will bind a Connection to the thread
 * if transaction synchronization is active (e.g. if in a JTA transaction).
 * <p>Directly accessed by {@link TransactionAwareConnectionFactoryProxy}.
 * @param cf the ConnectionFactory to obtain Connection from
 * @return a CCI Connection from the given ConnectionFactory
 * @throws ResourceException if thrown by CCI API methods
 * @see #doReleaseConnection
 */
public static Connection doGetConnection(ConnectionFactory cf) throws ResourceException {
	Assert.notNull(cf, "No ConnectionFactory specified");

	ConnectionHolder conHolder = (ConnectionHolder) TransactionSynchronizationManager.getResource(cf);
	if (conHolder != null) {
		return conHolder.getConnection();
	}

	logger.debug("Opening CCI Connection");
	Connection con = cf.getConnection();

	if (TransactionSynchronizationManager.isSynchronizationActive()) {
		logger.debug("Registering transaction synchronization for CCI Connection");
		conHolder = new ConnectionHolder(con);
		conHolder.setSynchronizedWithTransaction(true);
		TransactionSynchronizationManager.registerSynchronization(new ConnectionSynchronization(conHolder, cf));
		TransactionSynchronizationManager.bindResource(cf, conHolder);
	}

	return con;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:34,代码来源:ConnectionFactoryUtils.java


示例2: execute

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Override
public <T> T execute(final InteractionCallback<T> action) throws DataAccessException {
	Assert.notNull(action, "Callback object must not be null");
	return execute(new ConnectionCallback<T>() {
		@Override
		public T doInConnection(Connection connection, ConnectionFactory connectionFactory)
				throws ResourceException, SQLException, DataAccessException {
			Interaction interaction = connection.createInteraction();
			try {
				return action.doInInteraction(interaction, connectionFactory);
			}
			finally {
				closeInteraction(interaction);
			}
		}
	});
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:18,代码来源:CciTemplate.java


示例3: testSimpleRecordOperation

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testSimpleRecordOperation() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);

	Record inputRecord = mock(Record.class);
	Record outputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	SimpleRecordOperation query = new SimpleRecordOperation(connectionFactory, interactionSpec);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputRecord)).willReturn(outputRecord);

	query.execute(inputRecord);

	verify(interaction).execute(interactionSpec, inputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:24,代码来源:EisOperationTests.java


示例4: testSimpleRecordOperationWithExplicitOutputRecord

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testSimpleRecordOperationWithExplicitOutputRecord() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);

	Record inputRecord = mock(Record.class);
	Record outputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	SimpleRecordOperation operation = new SimpleRecordOperation(connectionFactory, interactionSpec);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputRecord, outputRecord)).willReturn(true);

	operation.execute(inputRecord, outputRecord);

	verify(interaction).execute(interactionSpec, inputRecord, outputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:24,代码来源:EisOperationTests.java


示例5: testSimpleRecordOperationWithInputOutputRecord

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testSimpleRecordOperationWithInputOutputRecord() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);

	Record inputOutputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	SimpleRecordOperation query = new SimpleRecordOperation(connectionFactory, interactionSpec);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputOutputRecord, inputOutputRecord)).willReturn(true);

	query.execute(inputOutputRecord, inputOutputRecord);

	verify(interaction).execute(interactionSpec, inputOutputRecord, inputOutputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:23,代码来源:EisOperationTests.java


示例6: testTemplateExecuteInputOutput

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testTemplateExecuteInputOutput() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);

	Record inputRecord = mock(Record.class);
	Record outputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputRecord, outputRecord)).willReturn(true);


	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.execute(interactionSpec, inputRecord, outputRecord);

	verify(interaction).execute(interactionSpec, inputRecord, outputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:24,代码来源:CciTemplateTests.java


示例7: testTemplateExecuteInputFalse

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testTemplateExecuteInputFalse() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);

	Record inputRecord = mock(Record.class);
	Record outputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputRecord)).willReturn(outputRecord);

	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.execute(interactionSpec, inputRecord);

	verify(interaction).execute(interactionSpec, inputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:23,代码来源:CciTemplateTests.java


示例8: testTemplateExecuteInputExtractorFalse

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void testTemplateExecuteInputExtractorFalse()
		throws ResourceException, SQLException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);
	RecordExtractor<Object> extractor = mock(RecordExtractor.class);

	Record inputRecord = mock(Record.class);
	Record outputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputRecord)).willReturn(outputRecord);
	given(extractor.extractData(outputRecord)).willReturn(new Object());

	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.execute(interactionSpec, inputRecord, extractor);

	verify(extractor).extractData(outputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:27,代码来源:CciTemplateTests.java


示例9: testTemplateExecuteInputOutputConnectionSpec

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testTemplateExecuteInputOutputConnectionSpec() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	ConnectionSpec connectionSpec = mock(ConnectionSpec.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);

	Record inputRecord = mock(Record.class);
	Record outputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection(connectionSpec)).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputRecord, outputRecord)).willReturn(true);

	ConnectionSpecConnectionFactoryAdapter adapter = new ConnectionSpecConnectionFactoryAdapter();
	adapter.setTargetConnectionFactory(connectionFactory);
	adapter.setConnectionSpec(connectionSpec);
	CciTemplate ct = new CciTemplate(adapter);
	ct.execute(interactionSpec, inputRecord, outputRecord);

	verify(interaction).execute(interactionSpec, inputRecord, outputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:27,代码来源:CciTemplateTests.java


示例10: testTemplateExecuteConnectionCallback

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void testTemplateExecuteConnectionCallback()
		throws ResourceException, SQLException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	ConnectionCallback<Object> connectionCallback = mock(ConnectionCallback.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connectionCallback.doInConnection(connection, connectionFactory)).willReturn(new Object());

	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.execute(connectionCallback);

	verify(connectionCallback).doInConnection(connection, connectionFactory);
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:18,代码来源:CciTemplateTests.java


示例11: testTemplateExecuteInteractionCallback

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void testTemplateExecuteInteractionCallback()
		throws ResourceException, SQLException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);
	InteractionCallback<Object> interactionCallback = mock(InteractionCallback.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interactionCallback.doInInteraction(interaction,connectionFactory)).willReturn(new Object());

	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.execute(interactionCallback);

	verify(interactionCallback).doInInteraction(interaction,connectionFactory);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:21,代码来源:CciTemplateTests.java


示例12: testTemplateExecuteInputTrueTrueWithCreator

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testTemplateExecuteInputTrueTrueWithCreator()
		throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);
	RecordCreator creator = mock(RecordCreator.class);

	Record inputOutputRecord = mock(Record.class);

	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputOutputRecord, inputOutputRecord)).willReturn(true);

	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.setOutputRecordCreator(creator);
	ct.execute(interactionSpec, inputOutputRecord, inputOutputRecord);

	verify(interaction).execute(interactionSpec, inputOutputRecord, inputOutputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:25,代码来源:CciTemplateTests.java


示例13: testTemplateExecuteInputTrueTrue

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testTemplateExecuteInputTrueTrue() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);
	Record inputOutputRecord = mock(Record.class);
	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputOutputRecord, inputOutputRecord)).willReturn(true);

	CciTemplate ct = new CciTemplate(connectionFactory);
	ct.execute(interactionSpec, inputOutputRecord, inputOutputRecord);

	verify(interaction).execute(interactionSpec, inputOutputRecord, inputOutputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:20,代码来源:CciTemplateTests.java


示例14: testTemplateExecuteInputFalseTrue

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@Test
public void testTemplateExecuteInputFalseTrue() throws ResourceException {
	ConnectionFactory connectionFactory = mock(ConnectionFactory.class);
	Connection connection = mock(Connection.class);
	Interaction interaction = mock(Interaction.class);
	Record inputOutputRecord = mock(Record.class);
	InteractionSpec interactionSpec = mock(InteractionSpec.class);

	given(connectionFactory.getConnection()).willReturn(connection);
	given(connection.createInteraction()).willReturn(interaction);
	given(interaction.execute(interactionSpec, inputOutputRecord)).willReturn(null);

	CciTemplate ct = new CciTemplate(connectionFactory);
	Record tmpOutputRecord = ct.execute(interactionSpec,
			inputOutputRecord);
	assertNull(tmpOutputRecord);

	verify(interaction).execute(interactionSpec, inputOutputRecord);
	verify(interaction).close();
	verify(connection).close();
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:22,代码来源:CciTemplateTests.java


示例15: getConnection

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
/**
 * Return a connection object from the given connection factory.
 * 
 * The default implementation assumes a JCA {@link ConnectionFactory}.  Subclasses should override, if they use 
 * another type of connection factory.
 * 
 * @deprecated
 * @see #getConnection(Object, ExecutionContext)
 * @param factory
 * @return a connection
 * @throws TranslatorException
 */
@Deprecated
   @SuppressWarnings("unchecked")
public C getConnection(F factory) throws TranslatorException {
	if (factory == null) {
		return null;
	}
	if (factory instanceof ConnectionFactory) {
		try {
			return (C) ((ConnectionFactory)factory).getConnection();
		} catch (ResourceException e) {
			 throw new TranslatorException(DataPlugin.Event.TEIID60000, e);
		}
	}
	throw new AssertionError(factory.getClass().getName() + " is was not a ConnectionFactory implementation"); //$NON-NLS-1$
}
 
开发者ID:kenweezy,项目名称:teiid,代码行数:28,代码来源:ExecutionFactory.java


示例16: init

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
@BeforeClass 
public static void init() throws VirtualDatabaseException, ConnectorManagerException, TranslatorException, FileNotFoundException, IOException, ResourceException, SQLException {
	
	server = new EmbeddedServer();
	FileExecutionFactory executionFactory = new FileExecutionFactory();
	server.addTranslator("file", executionFactory);
	
	FileManagedConnectionFactory fileManagedconnectionFactory = new FileManagedConnectionFactory();
	fileManagedconnectionFactory.setParentDirectory(UnitTestUtil.getTestDataPath()+File.separator+"file");
	ConnectionFactory connectionFactory = fileManagedconnectionFactory.createConnectionFactory();
	ConnectionFactoryProvider<ConnectionFactory> connectionFactoryProvider = new EmbeddedServer.SimpleConnectionFactoryProvider<ConnectionFactory>(connectionFactory);
	server.addConnectionFactoryProvider("java:/marketdata-file", connectionFactoryProvider);
	
	EmbeddedConfiguration config = new EmbeddedConfiguration();
	server.start(config);
	DriverManager.registerDriver(server.getDriver());
	
	server.deployVDB(new FileInputStream(UnitTestUtil.getTestDataFile("vdb"+File.separator+"marketdata-vdb.xml")));
	
	factory = Persistence.createEntityManagerFactory("org.teiid.eclipselink.test");
}
 
开发者ID:kenweezy,项目名称:teiid,代码行数:22,代码来源:TestTeiidPlatform.java


示例17: testRMERRInOnePCToTransactionRolledbackException

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
/**
 * Describe <code>testXAException</code> method here.
 * @ejb.interface-method
 */
public void testRMERRInOnePCToTransactionRolledbackException()
{
    try
    {

        InitialContext ctx = new InitialContext();
        ConnectionFactory cf1 = (ConnectionFactory) ctx.lookup("java:/JBossTestCF");
        TestConnection c1 = (TestConnection) cf1.getConnection();
        try
        {
            c1.setFailInCommit(true, XAException.XAER_RMERR);

        }
        finally
        {
            c1.close();
        }

    }
    catch (Exception e)
    {
        log.warn("Unexpected: ", e);
        throw new EJBException("unexpected exception: " + e);
    }
}
 
开发者ID:windup,项目名称:windup-rulesets,代码行数:30,代码来源:XAExceptionSessionBean.java


示例18: getConnectionFactory

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
private ConnectionFactory getConnectionFactory(final String jndiName) {
    try {
        final InitialContext initialContext = new InitialContext();
        final Object object = initialContext.lookup(jndiName);

        if (object == null) {
            throw new HibersapException("Name not bound: " + jndiName);
        }

        if (!(object instanceof ConnectionFactory)) {
            throw new HibersapException("Object bound under " + jndiName + " is no ConnectionFactory");
        }

        return (ConnectionFactory) object;
    } catch (final NamingException e) {
        throw new HibersapException("JNDI lookup:", e);
    }
}
 
开发者ID:hibersap,项目名称:hibersap,代码行数:19,代码来源:JCAContext.java


示例19: setConnectionFactory

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
/**
 * Set the CCI ConnectionFactory that this instance should manage local
 * transactions for.
 */
public void setConnectionFactory(ConnectionFactory cf) {
	if (cf instanceof TransactionAwareConnectionFactoryProxy) {
		// If we got a TransactionAwareConnectionFactoryProxy, we need to perform transactions
		// for its underlying target ConnectionFactory, else JMS access code won't see
		// properly exposed transactions (i.e. transactions for the target ConnectionFactory).
		this.connectionFactory = ((TransactionAwareConnectionFactoryProxy) cf).getTargetConnectionFactory();
	}
	else {
		this.connectionFactory = cf;
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:16,代码来源:CciLocalTransactionManager.java


示例20: doExecute

import javax.resource.cci.ConnectionFactory; //导入依赖的package包/类
/**
 * Execute the specified interaction on an EIS with CCI.
 * All other interaction execution methods go through this.
 * @param spec the CCI InteractionSpec instance that defines
 * the interaction (connector-specific)
 * @param inputRecord the input record
 * @param outputRecord output record (can be {@code null})
 * @param outputExtractor object to convert the output record to a result object
 * @return the output data extracted with the RecordExtractor object
 * @throws DataAccessException if there is any problem
 */
protected <T> T doExecute(
		final InteractionSpec spec, final Record inputRecord, final Record outputRecord,
		final RecordExtractor<T> outputExtractor) throws DataAccessException {

	return execute(new InteractionCallback<T>() {
		@Override
		public T doInInteraction(Interaction interaction, ConnectionFactory connectionFactory)
				throws ResourceException, SQLException, DataAccessException {
			Record outputRecordToUse = outputRecord;
			try {
				if (outputRecord != null || getOutputRecordCreator() != null) {
					// Use the CCI execute method with output record as parameter.
					if (outputRecord == null) {
						RecordFactory recordFactory = getRecordFactory(connectionFactory);
						outputRecordToUse = getOutputRecordCreator().createRecord(recordFactory);
					}
					interaction.execute(spec, inputRecord, outputRecordToUse);
				}
				else {
					outputRecordToUse = interaction.execute(spec, inputRecord);
				}
				return (outputExtractor != null ? outputExtractor.extractData(outputRecordToUse) : null);
			}
			finally {
				if (outputRecordToUse instanceof ResultSet) {
					closeResultSet((ResultSet) outputRecordToUse);
				}
			}
		}
	});
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:43,代码来源:CciTemplate.java



注:本文中的javax.resource.cci.ConnectionFactory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java EnumLite类代码示例发布时间:2022-05-21
下一篇:
Java ErrorMessage类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap