use oracle database
by Ivan Gürtler
Hi,
I tried to use aerogear with oracle database. When I used wildfly it was
good.
I create module.xml for "ojdbc6-12.1.0.1.jar":
*<?xml version="1.0" encoding="UTF-8"?>*
*<module xmlns="urn:jboss:module:1.0" name="com.oracle">*
* <resources>*
* <resource-root path="ojdbc6-12.1.0.1.jar"/>*
* <!-- Insert resources here -->*
* </resources>*
* <dependencies>*
* <module name="javax.api"/>*
* <module name="javax.transaction.api"/>*
* </dependencies>*
*</module>*
next I create oracle-database-config-wildfly.cli
*# $WILDFLY_HOME/bin/jboss-cli.sh --file=/path/to/this/file.*
*connect*
*batch*
*## Add Oracle driver*
*/subsystem=datasources/jdbc-driver=oracleup:add(driver-name=oracleup,driver-module-name=com.oracle,driver-xa-datasource-class-name=oracle.jdbc.xa.client.OracleXADataSource)*
*## Add UnifiedPush Datasource*
*data-source add --name=UnifiedPushDS --driver-name=oracleup
--jndi-name=java:jboss/datasources/UnifiedPushDS
--connection-url=jdbc:oracle:thin:@localhost:1521:XE
--user-name=unifiedpush --password=unifiedpush --use-ccm=false
--max-pool-size=25 --blocking-timeout-wait-millis=5000 --enabled=true*
*run-batch*
*#:reload*
next I configurate wildfly with this and deploy 2 war files. It was very
good :)
But when I tried it with EAP 6.3.0 with same "ojdbc6-12.1.0.1.jar",
module.xml and
next oracle-database-config.cli
*# $JBOSS_HOME/bin/jboss-cli.sh --file=/path/to/this/file.*
*connect*
*batch*
*## Add Oracle driver*
*/subsystem=datasources/jdbc-driver=oracleup:add(driver-name=oracleup,driver-module-name=com.oracle,driver-xa-datasource-class-name=oracle.jdbc.xa.client.OracleXADataSource)*
*## Add UnifiedPush Datasource*
*data-source add --name=UnifiedPushDS --driver-name=oracleup
--jndi-name=java:jboss/datasources/UnifiedPushDS
--connection-url=jdbc:oracle:thin:@localhost:1521:XE
--user-name=unifiedpush --password=unifiedpush --use-ccm=false
--max-pool-size=25 --blocking-timeout-wait-millis=5000*
*data-source enable --name=UnifiedPushDS*
*run-batch*
*#:reload*
after configurating database and deploying 2 war files (ag-push.war
specialy for AS7), it started Aerogear administration web UI and I can
login to web interface. After creating application and variant, I tried to
register mobile device in AG with successfull status in mobile device, but
without creating instalation in AG and server threw exception (log)
*17:10:06,593 WARN [org.jboss.resteasy.core.ResourceLocator]
(http-/0.0.0.0:8080-2) Field uriInfo of subresource
org.keycloak.services.resources.PublicRealmResource will not be injected
according to spec*
*17:10:06,594 WARN [org.jboss.resteasy.core.ResourceLocator]
(http-/0.0.0.0:8080-2) Field request of subresource
org.keycloak.services.resources.PublicRealmResource will not be injected
according to spec*
*17:10:06,594 WARN [org.jboss.resteasy.core.ResourceLocator]
(http-/0.0.0.0:8080-2) Field response of subresource
org.keycloak.services.resources.PublicRealmResource will not be injected
according to spec*
*17:10:06,671 INFO [org.jboss.resteasy.cdi.CdiInjectorFactory]
(http-/0.0.0.0:8080-1) Found BeanManager at java:comp/BeanManager*
*17:10:06,698 INFO [org.jboss.resteasy.spi.ResteasyDeployment]
(http-/0.0.0.0:8080-1) Deploying javax.ws.rs.core.Application: class
org.jboss.aerogear.unifiedpush.rest.RestApplication$Proxy$_$$_WeldClientProxy*
*17:10:07,074 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB
default - 1) SQL Error: 997, SQLState: 42000*
*17:10:07,074 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB
default - 1) ORA-00997: illegal use of LONG datatype*
*17:10:07,094 ERROR [org.jboss.as.ejb3.invocation] (EJB default - 1)
JBAS014134: EJB Invocation failed on component
ClientInstallationServiceImpl for method public abstract void
org.jboss.aerogear.unifiedpush.service.ClientInstallationService.addInstallation(org.jboss.aerogear.unifiedpush.api.Variant,org.jboss.aerogear.unifiedpush.api.Installation):
javax.ejb.EJBException: javax.persistence.PersistenceException:
org.hibernate.exception.SQLGrammarException: could not extract ResultSet*
* at
org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:189)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:274)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:339)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:238)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.interceptors.AsyncFutureInterceptorFactory$1$1.runInvocation(AsyncFutureInterceptorFactory.java:89)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.ejb3.component.interceptors.AsyncInvocationTask.run(AsyncInvocationTask.java:73)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[rt.jar:1.7.0_67]*
* at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[rt.jar:1.7.0_67]*
* at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]*
* at org.jboss.threads.JBossThread.run(JBossThread.java:122)*
*Caused by: javax.persistence.PersistenceException:
org.hibernate.exception.SQLGrammarException: could not extract ResultSet*
* at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
[hibernate-entitymanager-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
[hibernate-entitymanager-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:277)
[hibernate-entitymanager-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.jboss.aerogear.unifiedpush.jpa.dao.impl.JPAInstallationDao.getSingleResultForQuery(JPAInstallationDao.java:199)
[unifiedpush-model-jpa-1.1.0-SNAPSHOT.jar:]*
* at
org.jboss.aerogear.unifiedpush.jpa.dao.impl.JPAInstallationDao.findInstallationForVariantByDeviceToken(JPAInstallationDao.java:72)
[unifiedpush-model-jpa-1.1.0-SNAPSHOT.jar:]*
* at
org.jboss.aerogear.unifiedpush.service.impl.ClientInstallationServiceImpl.findInstallationForVariantByDeviceToken(ClientInstallationServiceImpl.java:177)
[unifiedpush-service-1.1.0-SNAPSHOT.jar:]*
* at
org.jboss.aerogear.unifiedpush.service.impl.ClientInstallationServiceImpl.addInstallation(ClientInstallationServiceImpl.java:51)
[unifiedpush-service-1.1.0-SNAPSHOT.jar:]*
* at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[rt.jar:1.7.0_67]*
* at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[rt.jar:1.7.0_67]*
* at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_67]*
* at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]*
* at
org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:86)
[jboss-as-weld-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:97)
[jboss-as-weld-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
[jboss-as-jpa-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:93)
[jboss-as-weld-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)
[jboss-as-ee-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* at
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
[jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1]*
* at
org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:272)
[jboss-as-ejb3-7.4.0.Final-redhat-11.jar:7.4.0.Final-redhat-11]*
* ... 25 more*
*Caused by: org.hibernate.exception.SQLGrammarException: could not extract
ResultSet*
* at
org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:82)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:88)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.getResultSet(Loader.java:2062)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1859)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.doQuery(Loader.java:906)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.doList(Loader.java:2550)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.doList(Loader.java:2536)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2366)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.Loader.list(Loader.java:2361)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:495)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:357)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at
org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:198)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1194)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:268)
[hibernate-entitymanager-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* ... 60 more*
*Caused by: java.sql.SQLSyntaxErrorException: ORA-00997: illegal use of
LONG datatype*
* at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)*
* at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)*
* at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1017)*
* at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)*
* at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)*
* at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)*
* at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)*
* at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:58)*
* at
oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:776)*
* at
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:897)*
* at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)*
* at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)*
* at
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3867)*
* at
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1502)*
* at
org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)*
* at
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:79)
[hibernate-core-4.2.12.Final-redhat-1.jar:4.2.12.Final-redhat-1]*
* ... 75 more*
I use same ojdbc6-12.1.0.1.jar and same database with wildfly and EAP ... I
tried to fix it for a 3 days, but I haven't found solution.
Can you help me with this problem? Thanks.
10 years
Small thought on repos naming
by Corinne Krych
Hello
Last June we talked about aligning your repo naming convention, as a result ios repos were renamed:
aerogear-ios-LIB_NAME
like we have:
aerogear-android-LIB_NAME
aerogear-js-LIB_NAME
Would it make sense to have:
aerogear-cordova-LIB_NAME instead of aerogear-LIB_NAME-cordova
@edewit wdyt?
++
Corinne
PS: we still have some exception (which will need renaming) like aerogear-otp-js but OTP libes are conssitant across platforms though...
10 years
[Unified Push Server] Improving the message delivery to GCM
by Matthias Wessendorf
Hello!
right now, we use HTTP (via Google's Sender), and they only allow 1000
tokens, per request to GCM, that means, we have a lot of (blocking)
requests (see below trace).
We loop over the our 'processGCM', which internally invokes the HTTP sender
from google:
https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/...
(they use HttpUrlConnection inside of that 'sender')
I see some improvements here:
* make the requests to google concurrent
* use persistent XMPP connection (https://issues.jboss.org/browse/AGPUSH-36)
Regarding AGPUSH-36 we could extract that into a tiny libray, to be used by
UPS (like we did with others).
Greetings,
Matthias
{sending some requests to GCM, in a loop with blocking http request}
21:13:00,059 INFO [GCMPushNotificationSender] (EJB default - 2) Sending
payload for [1000] devices to GCM
21:13:01,568 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:02,646 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:03,495 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:04,291 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:05,171 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:06,054 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:06,982 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:07,846 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:08,748 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:09,662 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:10,527 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:11,384 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:12,253 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:13,349 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:14,283 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:15,164 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:16,004 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:16,796 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:17,620 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:18,407 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:19,158 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:19,942 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:20,696 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:21,587 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:22,388 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:23,055 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:23,763 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:24,490 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:25,351 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:26,125 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:26,857 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:27,545 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:28,208 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:28,865 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:29,523 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:30,299 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:30,973 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:31,588 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:32,196 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:32,796 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:33,404 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:34,174 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:34,799 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:35,354 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:35,893 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:36,449 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:36,991 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [1000] devices to GCM
21:13:37,488 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Sending payload for [10] devices to GCM // yes, I had 48010 devices
21:13:37,525 INFO [ClientInstallationServiceImpl] (EJB default - 2)
Message to GCM has been submitted
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
10 years
[Unified Push Server] Testing registration of several devices
by Matthias Wessendorf
Hi,
a few days ago I wrote a little test, that registers some installations in
a concurrent fashion against a running UPS. Here is a polished version:
https://gist.github.com/matzew/bb2c11bf55e2e5c7334d
The RESTful endpoints are behaving fine (they return 200) and deliver
internally the tasks to a new thread, using our Async EJB. yay!
Of course, on different databases I noticed different results:
* POSTGRES
With Postgres I got reasonalbe/good results:
16 threads/1000 loops -> unit test took 50 seconds. (16k devices)
32 threads/1000 loops -> unit test took 120 seconds. (32k devices)
==> would be nice if we could improve this (e.g. with better JPQL or
something like that)
* H2 (WARNING - not a production database)
Writing to the H2 DB is (extremely) slow, regardless if in-memory or
file-system :)
So, when the Unit test was done/finised, the writing to the (H2) database
still goes on, for quite some time.
Using the H2 filesystem storage, I noticed some of these log messages ->
https://gist.github.com/matzew/41635a254cbec9057e77
Sure, it's H2 and we only use that during our development and test
execution but I want at least mention the above behavior
* MYSQL
TBD
Oh, another thing I thought about, perhaps it would be possible to use
(embedded) Postgress/MySQL during our tests with these guys:
* https://github.com/NessComputing/components-ness-pg
* mysql-connector-mxj
Any thoughts ?
-Matthias
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
10 years
WebPush - register/create-channel
by Matthias Wessendorf
Hi,
after performing register, I get URIs for my channel/monitor, like:
register
[streamid:3] ChannelLink:
webpush/7df2add5-ec4b-42a2-805f-5f8fcf8faa96/channel, MonitorLink:
webpush/7df2add5-ec4b-42a2-805f-5f8fcf8faa96/monitor
I wonder why I do have to explictly create the channel?
create-channel webpush/7df2add5-ec4b-42a2-805f-5f8fcf8faa96/channel
Not sure I get why that is not created on default. When I am not doing the
create-channel, an 'application' (e.g. curl or UPS) has no location to send
a paylload for the device, right?
Can a device have multiple monitoring channels? (e.g. channels per topic,
like #Rihanna #ZZtop #ACDC ? Can a device 'un monitor' ?
Thanks :-)
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
10 years
Android authz module updates
by Summers Pittman
Y'all,
Abstractj, passos, and myself just hammered out what the future of the
authz module is looking like.
Meeting notes : http://oksoclap.com/p/VDKl86lNMP
Umbrella JIRA here : https://issues.jboss.org/browse/AGDROID-225
Highlights:
# 2.0.0
* Shoot and Share will be put into the cookbook as examples of how to
use the current libraries to integrate Google, Facebook, Keycloak, etc
* KeyCloak Authenticater and its demo will go into the cookbook as
examples of how to integrate KeyCloak into Android.
** https://github.com/secondsun/keycloak-android-authenticator
** https://github.com/secondsun/keycloak-account-authenticator-demo
# 2.2
* The current WebView based token life cycle will be replaced with an
Intent
* The AuthzModule will call the native token store instead of our
custom service
* The AuthzModule will be enhanced to provide support for consuming
and emitting token life cycle Intents. (This means it will function like
the KeyCloak authenticator currently does)
* The KeyCloak authenticator will be refactored to be included as part
of these enhanced APIs
--
Summers Pittman
>>Phone:404 941 4698
>>Java is my crack.
10 years
aerogear and proxy
by Ivan Gürtler
Hi,
I have a question about using proxy on aerogear comunication with
GSM/APNS/WNS. Is it possible?
Thanks for your help.
Ivan
10 years