Hi, Just got back to this and found that there is an initialization error
but that the exception is being reported by JUnit only, not in the log file.

IsisSystem.init() has logging but it will only trap and log a
IsisSystemException. In my case I have unenhanced persistent classes so a
java.lang.IllegalStateException results thrown, but it doesn't get logged.
This is a Isis metamodel validation exception I assume.


java.lang.IllegalStateException: Non-enhanced @PersistenceCapable classes
found, will abort. The classes in error are:
...

Did the DataNucleus enhancer run correctly?

Maybe the relevant code should be:

        } catch (final IsisSystemException ex) {
            LOG.error("failed to initialise", ex);
            throw new RuntimeException(ex);
        } catch (final Exception e) {
            LOG.debug("initialisation error", e);
            throw e;
        }


I'll create a JIRA issue if this is worthwhile.

On Thu, Jan 14, 2016 at 11:48 AM, Stephen Cameron <
[email protected]> wrote:

> Hi,
>
> I want to run some integtests against a local MYSQL database. I cannot get
> the Isis system configured correctly, or so it appears.
>
> I am following the documentation reasonably well, but the tests I have
> defined don't execute, so I am assuming that something is going astray in
> setting up the Isis system intially.
>
> I have the following in my initialisation:
>
>
> public class DomainAppSystemInitializer {
>
>     public static void initIsft() {
>         IsisSystemForTest isft = IsisSystemForTest.getElseNull();
>
>         IsisConfigurationForJdoIntegTests config = new
> IsisConfigurationForJdoIntegTests();
>
>         config.put("isis.persistor.datanucleus.install-fixtures","false");
>
> config.put("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName",
> "com.mysql.jdbc.Driver");
>
> config.put("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL",
>
> "jdbc:mysql://localhost:3306/chats?zeroDateTimeBehavior=convertToNull");
>
> config.put("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName",
> "chats");
>
> config.put("isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword",
> "password");
>
>         if (isft == null) {
>             isft = new
> IsisSystemForTest.Builder().withLoggingAt(org.apache.log4j.Level.DEBUG)
>                     .with(new DomainAppAppManifest()).with(config).build()
>                     .setUpSystem();
>             IsisSystemForTest.set(isft);
>         }
>     }
>
> In terms of console output I see very little
>
>
> 11:38:16,632  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:hsqldb:mem:test
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=org.hsqldb.jdbcDriver
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=sa
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.datanucleus.schema.autoCreateAll=true
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.datanucleus.schema.validateAll=false
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCommit=false
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.datanucleus.identifier.case=MixedCase
> 11:38:16,633  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.datanucleus.cache.level2.type=none
> 11:38:16,634  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode=ENABLE_SELECTIVE
> 11:38:16,634  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.install-fixtures=true
> 11:38:16,634  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.enforceSafeSemantics=false
> 11:38:16,634  [IsisConfigurationDefault main       INFO ]  adding
> isis.deploymentType=server_prototype
> 11:38:16,634  [IsisConfigurationDefault main       INFO ]  adding
> isis.services.eventbus.allowLateRegistration=true
> 11:38:16,635  [IsisConfigurationDefault main       INFO ]  overwriting
> isis.persistor.datanucleus.install-fixtures=false (previous value was true)
> 11:38:16,635  [IsisConfigurationDefault main       INFO ]  overwriting
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver
> (previous value was org.hsqldb.jdbcDriver)
> 11:38:16,635  [IsisConfigurationDefault main       INFO ]  overwriting
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL=jdbc:mysql://localhost:3306/chats?zeroDateTimeBehavior=convertToNull
> (previous value was jdbc:hsqldb:mem:test)
> 11:38:16,635  [IsisConfigurationDefault main       INFO ]  overwriting
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionUserName=chats
> (previous value was sa)
> 11:38:16,635  [IsisConfigurationDefault main       INFO ]  overwriting
> isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword=password
> (previous value was )
> 11:38:24,573  [IsisConfigurationDefault main       INFO ]  adding
> isis.appManifest=domainapp.app.DomainAppAppManifest
> 11:38:25,051  [Reflections          main       INFO ]  Reflections took
> 388 ms to scan 11 urls, producing 302 keys and 1708 values
> 11:38:25,255  [IsisConfigurationDefault main       INFO ]  adding
> isis.services.ServicesInstallerFromAnnotation.packagePrefix=au.com.scds.chats.dom,au.com.scds.chats.fixture,domainapp.app,org.isisaddons.module.security,org.isisaddons.wicket.gmap3.cpt.service,org.incode.module.note.dom
> 11:38:25,255  [IsisConfigurationDefault main       INFO ]  adding
> isis.persistor.datanucleus.RegisterEntities.packagePrefix=au.com.scds.chats.dom,au.com.scds.chats.fixture,domainapp.app,org.isisaddons.module.security,org.isisaddons.wicket.gmap3.cpt.service,org.incode.module.note.dom
> 11:38:25,258  [IsisConfigurationDefault main       INFO ]  adding
> isis.services=org.isisaddons.module.security.dom.password.PasswordEncryptionServiceUsingJBcrypt,org.isisaddons.module.security.dom.permission.PermissionsEvaluationServiceAllowBeatsVeto
> 11:38:25,267  [IsisConfigurationDefault main       INFO ]  adding
> isis.reflector.facets.include=org.isisaddons.module.security.facets.TenantedAuthorizationFacetFactory
> 11:38:25,280  [ServicesInstallerFromConfigurationAndAnnotation main
> INFO ]  installing
> org.apache.isis.core.runtime.services.ServicesInstallerFromConfigurationAndAnnotation
> 11:38:25,493  [IsisConfigurationDefault main       INFO ]  adding
> isis.fixtures=
> 11:38:25,609  [IsisSystem           main       INFO ]  initialising Isis
> System
> 11:38:25,610  [IsisSystem           main       INFO ]  working directory:
> D:\temp\isis-chats\integtests\.
> 11:38:25,610  [IsisSystem           main       INFO ]  resource stream
> source: null
> 11:38:32,464  [PersistenceSessionFactory main       INFO ]  did *not* find
> config properties to use JNDI datasource; will use JDBC
> 11:38:32,475  [IsisSystem           Thread-0   INFO ]  shutting down system
> 11:38:32,477  [IsisContext          Thread-0   INFO ]  closing all
> instances
> 11:38:32,477  [ObjectReflectorDefault Thread-0   INFO ]  shutting down
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@407b6263
>
>
> If I set the default logging level to DEBUG in logging.properties, I get
> allot of info related to system initialisation, but nothing more is seen
> related to database connection failing or being attempted.
>
> I've tried to debug this but so far have not produced any more
> information. I might have to go to 1.12.0-SNAPSHOT to get much further with
> that approach.
>
> Hoping there is something obvious that i cannot see.
>
> Thanks
>
>

Reply via email to