掲示板

Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

6年前 に Enoch Root によって更新されました。

Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
Dear colleagues,

working on a customer liferay system Im facing continuous DB exceptions within liferay trace:

21:53:50,098 ERROR [liferay/scheduler_dispatch-5][ParallelDestination:55] Unable to process message {destinationName=liferay/scheduler_dispatch, response=null, responseDestinationName=null, responseId=null, payload=null, values={GROUP_NAME=com.liferay.message.boards.web.internal.messaging.ExpireBanMessageListener, companyId=0, groupId=0, DESTINATION_NAME=liferay/scheduler_dispatch, EXCEPTIONS_MAX_SIZE=0, JOB_STATE=com.liferay.portal.kernel.scheduler.JobState@73937899, STORAGE_TYPE=MEMORY_CLUSTERED, JOB_NAME=com.liferay.message.boards.web.internal.messaging.ExpireBanMessageListener}}
com.liferay.portal.kernel.messaging.MessageListenerException: org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:32)
at com.liferay.portal.kernel.scheduler.messaging.SchedulerEventMessageListenerWrapper.receive(SchedulerEventMessageListenerWrapper.java:65)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:74)
at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:52)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:756)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:667)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:685)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:849)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:826)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.rollback(DefaultTransactionExecutor.java:79)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:57)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:169)
at com.sun.proxy.$Proxy242.expireBans(Unknown Source)
at com.liferay.message.boards.web.internal.messaging.ExpireBanMessageListener.doReceive(ExpireBanMessageListener.java:77)
at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:26)
... 6 more
Suppressed: com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.GenericJDBCException: could not execute query
at com.liferay.portal.kernel.service.persistence.impl.BasePersistenceImpl.processException(BasePersistenceImpl.java:264)
at com.liferay.portlet.messageboards.service.persistence.impl.MBBanPersistenceImpl.findAll(MBBanPersistenceImpl.java:3996)
at com.liferay.portlet.messageboards.service.persistence.impl.MBBanPersistenceImpl.findAll(MBBanPersistenceImpl.java:3905)
at com.liferay.portlet.messageboards.service.persistence.impl.MBBanPersistenceImpl.findAll(MBBanPersistenceImpl.java:3871)
at com.liferay.portlet.messageboards.service.impl.MBBanLocalServiceImpl.expireBans(MBBanLocalServiceImpl.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:163)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:54)
... 14 more
Caused by: com.liferay.portal.kernel.dao.orm.ORMException: org.hibernate.exception.GenericJDBCException: could not execute query
at com.liferay.portal.dao.orm.hibernate.ExceptionTranslator.translate(ExceptionTranslator.java:33)
at com.liferay.portal.dao.orm.hibernate.QueryImpl.list(QueryImpl.java:130)
at com.liferay.portal.dao.orm.hibernate.QueryImpl.list(QueryImpl.java:109)
at com.liferay.portal.kernel.dao.orm.QueryUtil.list(QueryUtil.java:59)
at com.liferay.portlet.messageboards.service.persistence.impl.MBBanPersistenceImpl.findAll(MBBanPersistenceImpl.java:3977)
... 23 more
Caused by: org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2545)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:940)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at com.liferay.portal.dao.orm.hibernate.QueryImpl.list(QueryImpl.java:118)
... 26 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:709)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(SQLServerConnection.java:2952)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:757)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:743)
at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:454)
at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:376)
at com.sun.proxy.$Proxy31.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700)
at org.hibernate.loader.Loader.doQuery(Loader.java:801)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2542)
... 33 more
Caused by: org.hibernate.TransactionException: JDBC rollback failed
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:200)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:682)
... 18 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:709)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback(SQLServerConnection.java:2692)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:1105)
at org.jboss.jca.adapters.jdbc.WrappedConnection.rollback(WrappedConnection.java:863)
at sun.reflect.GeneratedMethodAccessor1644.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:376)
at com.sun.proxy.$Proxy31.rollback(Unknown Source)
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:213)
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:192)
... 19 more


the datasource section configuration looks like this:

<subsystem xmlns="urn:jboss:domain:datasources:4.0">
<datasources>
<datasource jta="true" jndi-name="java:jboss/datasources/SQLServer" pool-name="SQLServer" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:sqlserver://xxx:1433;databaseName=DBNAME</connection-url>
<driver>sqlserver</driver>
<security>
<user-name>QLPORTAL</user-name>
<password>${VAULT::sqlserver::password::1}</password>
</security>
</datasource>
<drivers>
<driver name="sqlserver" module="com.liferay.portal">
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
</driver>
</drivers>
</datasources>
</subsystem>


comparing that one to appropriate technical documentation on:

https://docs.jboss.org/author/display/WFLY10/DataSource+configuration

resp

http://www.ironjacamar.org/doc/userguide/1.1/en-US/html_single/index.html#d0e1913

Im noticing we miss the pool section, like in the provided example:


<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>


Based on this information and without have analysed this issue into deep: my assumption would be liferay resp wildfly loses the connection due db inactivity, means if there is no activity SQL server drops the connection or something comparable. I also dont see customer namespace within the stack, it must be a very basic problem with db config. I dont see any recommendations or suggestions regarding the pool section config in the provided datasource documentation.

So my question is: is this a known issue? Are there any notes, docs or something describing how to overcome it? Thank you very much,

best regards

P.S. Im bloody new to liferay and wildfly, so if Im missing something or any of my assumptions doesnt makes sense, please feel free to correct me
thumbnail
6年前 に Christoph Rabel によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL (回答)

Liferay Legend 投稿: 1554 参加年月日: 09/09/24 最新の投稿
The community edition doesn't support MS SQL Server at all.

See list of database servers in the compatibility matrix sections:
https://community.liferay.com/news/liferay-portal-7-0-ce-ga5-release/
6年前 に Enoch Root によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
Thank you Christoph, you are right. After consultating my colleagues, I was told they are aware of this and implemented an own connector

a là: public class SQLServerDB extends com.liferay.portal.dao.db.BaseDB

which seems to work well, looks very clean to me and as I mentioned doesnt appears in corresponding exception stack.

Clear is also: even MS SQL isnt officially supported by liferay CE, we cant change the DB on an ongoing project, I will need to find a possibility to overcome this despite lack of support. I will keep you on running, thank you again. Independent from my own efforts, if anybody can contribute something on this topic, I would be glad

best regards
thumbnail
6年前 に Olaf Kock によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

Liferay Legend 投稿: 6400 参加年月日: 08/09/23 最新の投稿
Liferay DXP supports SQL-Server. And you can check Antonio's implementation for Liferay 7.
6年前 に Enoch Root によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
Thanks Olaf, please let me come back tofu on your points.

Liferay DXP supports SQL-Server.


Thanks, I saw this already. The issue is imho, sorry to be offtopic a bit, Im noticing especially DACH area managers seems to prefer "cheap" solutions, ideally they dont want to pay any licenses. They simple dont want to undestand, if they dont pay software support, they will need to pay people like me for administration and development. I dont think I need to tell you how much a Java senior costs in old Europa a day. But I like those guys cause of that and love to take their money ;)

And you can check Antonio's implementation for Liferay 7.


That was a very valuable input, thank you so much. I compared Antonio's implementation (in particularly SQLServerDB.java and SQLServerDBFactory.java) to ours and I dont see any substantive differences - we do there anything Antonio is doing. I would dare to say our implementation is a bit better (sorry, cant provide the source due legal reasons here). So assuming Antonios implementation works correctly and its very close to ours, my assumption, its not the connector implementation, but a more general problem, could be right.

This here indeed seems to be quite close to my issue:

https://stackoverflow.com/questions/35590017/sql-server-the-connection-is-closed

However, I would like to take a closer look to SQL logs, this should give some additional information. Im struggling on some administrative problems, since this machine isnt reacheable over RDP or similiar, but asked somebody for the loggs on the customer side already.

Thank you for your friendly support
6年前 に Enoch Root によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
To keep you on running: I got the logs, but couldnt see anything suspicious on SQL site, so I asked for a verbose trace (INFO).

However, it seems my assumption was right and due my own tests this issue can be overcome by configurating appropriate section within the config as follows:

<pool>
<min-pool-size>5</min-pool-size>
<max-pool-size>50</max-pool-size>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"></valid-connection-checker>
</validation>


This obviously leads to correct connection invalidation and results in corresponding log entries on WARN severity:

2017-11-08 20:04:20,352 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (PersistedQuartzSchedulerEngineInstance_QuartzSchedulerThread) IJ000621: Destroying connection that could not be validated: org.jboss.jca.core.connectionmanager.listener.TxConnectionListener@61c48602[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@2f80c42b connection handles=0 lastReturned=1510167800602 lastValidated=1510167797227 lastCheckedOut=1510167797227 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool@7fa80c43 mcp=SemaphoreConcurrentLinkedQueueManagedConnectionPool@7c208a57[pool=SQLServer] xaResource=LocalXAResourceImpl@10751f8c[connectionListener=61c48602 connectionManager=2a28467e warned=false currentXid=null productName=Microsoft SQL Server productVersion=12.00.5000 jndiName=java:jboss/datasources/SQLServer] txSync=null]
2017-11-08 20:04:27,455 WARN [org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory] (liferay/scheduler_dispatch-3) IJ030027: Destroying connection that is not valid, due to the following exception: ConnectionID:12 ClientConnectionId: 6ba3819c-c7cf-4793-992e-947cc92e1a26: com.microsoft.sqlserver.jdbc.SQLServerException: Software caused connection abort: recv failed
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2399)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2383)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1884)
at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:6642)
at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:7959)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:883)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:778)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2444)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:166)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:751)
at org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker.isValidConnection(MSSQLValidConnectionChecker.java:66)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.isValidConnection(BaseWrapperManagedConnectionFactory.java:1272)
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnectionFactory.getInvalidConnections(BaseWrapperManagedConnectionFactory.java:1085)
at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:378)
at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:617)
at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:589)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:590)
at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:429)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:747)
at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:66)
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.getTargetConnection(LazyConnectionDataSourceProxy.java:403)
at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:376)
at com.sun.proxy.$Proxy31.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1700)
at org.hibernate.loader.Loader.doQuery(Loader.java:801)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2542)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
at com.liferay.portal.dao.orm.hibernate.SQLQueryImpl.list(SQLQueryImpl.java:182)
at com.liferay.portal.dao.orm.hibernate.SQLQueryImpl.list(SQLQueryImpl.java:173)
at com.liferay.portlet.documentlibrary.service.persistence.impl.DLFileRankFinderImpl.findByStaleRanks(DLFileRankFinderImpl.java:59)
at com.liferay.portlet.documentlibrary.service.impl.DLFileRankLocalServiceImpl.checkFileRanks(DLFileRankLocalServiceImpl.java:77)
at sun.reflect.GeneratedMethodAccessor944.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:163)
at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:54)
at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)
at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)
at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:169)
at com.sun.proxy.$Proxy231.checkFileRanks(Unknown Source)
at com.liferay.recent.documents.web.internal.messaging.RecentDocumentsMessageListener.doReceive(RecentDocumentsMessageListener.java:96)
at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:26)
at com.liferay.portal.kernel.scheduler.messaging.SchedulerEventMessageListenerWrapper.receive(SchedulerEventMessageListenerWrapper.java:65)
at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:74)
at com.liferay.portal.kernel.messaging.ParallelDestination$1.run(ParallelDestination.java:52)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:756)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:667)
at java.lang.Thread.run(Thread.java:745)


This runtime behaviour is ok imho, I will monitor this a bit and check the redmond side, but it seems this it.

br
thumbnail
5年前 に Antonio Musarra によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

Junior Member 投稿: 66 参加年月日: 11/08/09 最新の投稿
Hi.
Personally I have never encountered the problems you have reported. In my configuration I used:
  • Liferay 7 GA7 Wildfly Bundle
  • SQL Driver (https://github.com/amusarra/liferay-portal-database-all-in-one-support)
  • SQL Server 2017


I configured the datasource this way.

        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
            <datasources>
                <datasource jta="true" jndi-name="java:jboss/datasources/LiferayDS" pool-name="LiferayDS" enabled="true" use-java-context="true" use-ccm="true">
                    <connection-url>jdbc:sqlserver://localhost:1433;databaseName=lportal</connection-url>
                    <driver>sqlserver</driver>
                    <security>
                        <user-name>liferay</user-name>
                        <password>liferay12345!</password>
                    </security>
                </datasource>
                <drivers>
                    <driver name="sqlserver" module="com.liferay.portal">
                        <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
                    </driver>
                </drivers>
            </datasources>
        </subsystem>


I used the Microsoft SQL JDBC driver version 6.0.

Antonio.
5年前 に Enoch Root によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
Hi Antonio

Antonio Musarra:

Personally I have never encountered the problems you have reported. In my configuration I used:


Thank you very much for your support. The project is finished meanwhile and I can confirm the solution I have mentioned works well, so if you get in same trouble one day, you would know what to do.

My 2 cents on this in generally are, if you are working in professional it environment and reading this: do your self and your customers a favour and do not use/buy liferay. This product has the quality of an indian ABAP report from 90's and feature coverage of vi imho, you will not be happy with this choise. I would rather advise to use competitive J2EE products you can indeed take serious, like SAP Enterprise Portal or IBM WebSphere.

cheers
thumbnail
5年前 に Olaf Kock によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

Liferay Legend 投稿: 6400 参加年月日: 08/09/23 最新の投稿
Enoch Root:
I would rather advise to use competitive J2EE products you can indeed take serious, like SAP Enterprise Portal or IBM WebSphere.


The original user of this account should be made aware that his account was compromised. A bit earlier (scroll up) - obviously somebody else posted

Enoch Root:
Im noticing especially DACH area managers seems to prefer "cheap" solutions, ideally they dont want to pay any licenses. They simple dont want to undestand, if they dont pay software support, they will need to pay people like me for administration and development. I dont think I need to tell you how much a Java senior costs in old Europa a day. But I like those guys cause of that and love to take their money ;)


Good luck finding SAP's or IBM's offering for the same price, and with the same options of implementing something deep down in the guts of their solution, like a connector to a database that they're not supporting.
And that still applies if you need support and compare Liferay DXP's to the other product's prices.
5年前 に Enoch Root によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
Olaf Kock:
A bit earlier (scroll up) - obviously somebody else posted [quote=Enoch Root]Im noticing especially DACH area managers seems to prefer "cheap" solutions, ideally they dont want to pay any licenses. They simple dont want to undestand, if they dont pay software support, they will need to pay people like me for administration and development. I dont think I need to tell you how much a Java senior costs in old Europa a day. But I like those guys cause of that and love to take their money ;)[/quote] Good luck finding SAP's or IBM's offering for the same price, and with the same options of implementing something deep down in the guts of their solution, like a connector to a database that they're not supporting. And that still applies if you need support and compare Liferay DXP's to the other product's prices.

Thank you for your feedback Olaf, full ack - the competitors are much pricier, SAP support is incredible pricy e.g. But the difference will be, you will get a solide, premium quality product for the money. You will not get in trouble if you need to enhance the standard due my own experience. If the db you would like to use is not supported, where is a simple solution: choose a supported one and everything will work like a charm. All this things will at the end made your projects predictable, your results will have high quality and your customer will be happy and stay with you for many years. And yes, it costs money.

An alternative by use of, sorry no offence, dilettante software and with diverse own improvements is of course possible and can work better, especially for small projects, where a SAP or big blue J2EE would be an overkill. But here we are already leaving the area of serious business - this approach works normally only for small projects resp companies with analogous demands, again only due my own experience. So imho my statement is still valid - such choises are good for the consultants (at the beginning), since we will be able to charge more hours. But in the most cases its a bad decision for affected companies, driven by greed of managers, who nowadays dont stay long enough in companies to be interested in long-dated company development. Believe me, these guys are thinking in bonus stages - 1 to max 3 years. I have seen a lot of those, in automotive and energy, media and all kinds of discrete manufacturing - everywhere same problems of purblindness.

 

cheers

 

 

thumbnail
5年前 に Olaf Kock によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

Liferay Legend 投稿: 6400 参加年月日: 08/09/23 最新の投稿
Enoch Root:

Thank you for your feedback Olaf, full ack - the competitors are much pricier, SAP support is incredible pricy e.g. But the difference will be, you will get a solide, premium quality product for the money. You will not get in trouble if you need to enhance the standard due my own experience. If the db you would like to use is not supported, where is a simple solution: choose a supported one and everything will work like a charm. All this things will at the end made your projects predictable, your results will have high quality and your customer will be happy and stay with you for many years. And yes, it costs money.

I don't see any contradiction to the situation you were in: Try extending the competitor's solutions to support a database that they don't come with - good luck. But indeed, the same solution that you outline here (simply choose a supported one) is available on the Liferay (CE) side as well. There's a bunch of databases supported, and you could have simply followed your own advice.

And, quite frankly, while the overall impression of the competitors might be "rock solid, premium quality", quite often I've heard their previous customers (that came over to Liferay) mention that the product is indeed so rock solid, that it's impossible to customize it to their needs.

"You will not get in trouble if you need to enhance the standard" applies to the few areas that they allow to extend. If you need vendor support and someone to lean on in case of problems: Liferay provides exactly the same services as those competitors, for a lower price, and with a lot more flexibility in the underlying software.

In the end it boils down to your (or your customer's) explicit decision: You can have Liferay (the company) work on the infrastructure code (and pay them a flat rate for the DXP subscription), or you can have a consultant work on the infrastructure (and pay by the hour, including the consultant's ramp up time to explore the infrastructure's architecture).

I'd always choose a consultant to concentrate on increasing business value, not implement infrastructure that's readily available. But that's just my choice - if your customer makes different choices: Be happy that it's you, who they chose to be paid by the hour.

 

 

 

 

5年前 に Enoch Root によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

New Member 投稿: 17 参加年月日: 17/10/30 最新の投稿
Olaf Kock:
There's a bunch of databases supported, and you could have simply followed your own advice.

I apologize Olaf, I probably wasnt clear on this: as I joined the project it ran already, so I didnt had the opportunity to discuss platform choise with the customer. But I had a discussion with my internal colleagues and hope we as a company will know better next time

Olaf Kock:
And, quite frankly, while the overall impression of the competitors might be "rock solid, premium quality", quite often I've heard their previous customers (that came over to Liferay) mention that the product is indeed so rock solid, that it's impossible to customize it to their needs.

True, other companies have problems too. I guess less regarding extensibility, rather SAP has a homemade problem overlooking UX acceptance e.g. If you talk to end user, many of them will say "I hate to use SAP software". I also know only few people who felt in love with SAP GUI for example. They became too mighty, too big to fail and obviously assumed user acceptance is subsidiary. If you would like to take a look to market share, they could be even right. Many industries, like pharma e.g., are completely dominated by SAP software, dont know what the whole european antitrust divisions are doing the whole day btw. But even Walldorf is learning, they realized the problem and pushing a new UX paradigma - SAPUI5 / Fiori, so I hope it will improve user acceptance soon

 

Olaf Kock:
Liferay provides exactly the same services as those competitors, for a lower price, and with a lot more flexibility in the underlying software

Hm, difficult statement from my point of view, but for sure question of perspective. Let time decide: if Liferay will ever make it to SAP or IBM's market share and weight, I would be very glad (since strong competition is good and reviving the business) and spend you a beer on the next Liferay devcon, d'accord? ;)

 

cheers

 

 

thumbnail
5年前 に Olaf Kock によって更新されました。

RE: Wrong DB configuration on wildfly 10 + liferay 7 GA5 + MS SQL

Liferay Legend 投稿: 6400 参加年月日: 08/09/23 最新の投稿

First of all: No hard feelings.  I'm just setting some statements into perspective. Nothing is always good, or always bad. I'm just amused about some rather definitive takeaways, to which I like to provide "the other view".

Enoch Root:
Olaf Kock:
Liferay provides exactly the same services as those competitors, for a lower price, and with a lot more flexibility in the underlying software

Hm, difficult statement from my point of view, but for sure question of perspective. Let time decide: if Liferay will ever make it to SAP or IBM's market share and weight, I would be very glad (since strong competition is good and reviving the business) and spend you a beer on the next Liferay devcon, d'accord? ;)

Well, "the same services" refer to "supporting their product". Of course, IBM and SAP (and other competitors, but they came up earlier) have different (and more) products than Liferay, but in general: I'm talking about support contracts here. In case something goes wrong with the software, this is what you need in order for the vendor to assume responsibility.

And with regards to market share, weight and size: Compare Liferay's size with the size of the portal portion of their business. Yes, they have a workforce of a gazillion of people. But only few of them actually work on their portal solution. I personally haven't seen any business case where SAP's offer was competing with Liferay in the past 8 years. Granted, I didn't look out for them, but it's just something that didn't even cross my table. I've been working with customers who have everything from IBM, got offered their portal for free, but opted to subscribe to Liferay's enterprise edition instead.

As I said: No hard feelings. Introduce yourself at next Devcon and remind me of this discussion - I'd be glad to continue. With or without beer :)