Unable to Access Confluence Questions or Team Calendars
問題
When trying to access Confluence Questions or Team Calendars, the following error appears:
atlassian-confluence.log
に次のメッセージが表示される。
ERROR [AtlassianEvent::CustomizableThreadFactory-1] [atlassian.event.internal.AsynchronousAbleEventDispatcher] run There was an exception thrown trying to dispatch event 'com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController$AsyncEvent@2bde5b5d' from the invoker 'SingleParameterMethodListenerInvoker{method=public void com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController.onActiveObjectsModuleEnabled(com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController$AsyncEvent), listener=com.atlassian.confluence.plugins.questions.internal.lifecycle.ActiveObjectsController@1009551e}'.
java.lang.RuntimeException: Active Objects failed to initalize for bundle com.atlassian.confluence.plugins.confluence-questions
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:54)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:66)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: Active Objects failed to initalize for bundle com.atlassian.confluence.plugins.confluence-questions
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$5.apply(ActiveObjectsServiceFactory.java:207)
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$5.apply(ActiveObjectsServiceFactory.java:187)
at com.atlassian.util.concurrent.Promises$Of$2.apply(Promises.java:259)
at com.atlassian.util.concurrent.Promises$Of$2.apply(Promises.java:256)
at com.atlassian.util.concurrent.Promises$2.onFailure(Promises.java:162)
at com.google.common.util.concurrent.Futures$7.run(Futures.java:1074)
at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:253)
at com.google.common.util.concurrent.ExecutionList$RunnableExecutorPair.execute(ExecutionList.java:161)
at com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:146)
at com.google.common.util.concurrent.JdkFutureAdapters$ListenableFutureAdapter$1.run(JdkFutureAdapters.java:151)
... 3 more
Caused by: java.lang.RuntimeException: Unknown dialect.
原因
This error appears when the database is using a non-standard dialect and Confluence Questions or Team Calendars are looking for a specific one.
The dialects used by Confluence as of 5.6.1 are:
"net.sf.hibernate.dialect.PostgreSQLDialect",
"com.atlassian.hibernate.dialect.MySQLDialect",
"net.sf.hibernate.dialect.SQLServerIntlDialect",
"net.sf.hibernate.dialect.OracleIntlDialect"
ソリューション
- Confluence をシャットダウンします。
- Navigate to the home directory
- (The <confluence_home> directory is the path defined in the following file: <confluence_install>/confluence/WEB-INF/classes/confluence-init.properties)
- Modify the confluence.cfg.xml file
There is a line that begins
<property name="hibernate.dialect">
We will need to update the property associated with it.
The value used depends on the database in use. Please refer to the listed dialects in the 'Cause' section. In the following example, we'll use MySQL.
If you're using an older version of Confluence, the dialect may be different. If in doubt, please contact Atlassian Support.
Please confirm that the property reads
net.sf.hibernate.dialect.MySQLDialect
If so, please change the property to
com.atlassian.hibernate.dialect.MySQLDialect
The entire line should now look like this:
<property name="hibernate.dialect">com.atlassian.hibernate.dialect.MySQLDialect</property>
Save the file
Start Confluence and check if questions is working correctly