I can imagine that providing an alternative to using DataNucleus, at least
in initial development/prototyping could be possible? You could make use of
the JDO annotations to add a simple ORM layer via the isis metamodel. If
you don't enhance the classes the JDO annotations are still there to be
used.

Then when you were happy with the data-model and moving on to adding more
complex behaviour and/or seeking better performance, to switch over to
class enhancement.

Just a thought, datanucleus obviously has good and not so good aspects in
the context of Isis.

Regards
Steve C

On Fri, Jul 31, 2015 at 9:13 PM, Dan Haywood <[email protected]>
wrote:

> I've been meaning to do add some docs and a quick screencast about DCEVM
> for a while; maybe this weekend..
>
> To answer Martin's question: in fact, if running in prototype mode, then
> the Wicket viewer automatically invalidates the metamodel of the (class of
> the) displayed object... this is why editing the .layout.json file and
> reloading changes causes updates to be picked up automatically.
>
> What is more tricky is if the entity is changed itself, ie its
> structure/method signatures.  If the internals are changed then regular
> Java Hotspot can mostly cope, and I suspect that DCEVM would make that more
> reliable still.  But if the entity has changed then the class needs
> re-enhancing.  Unfortunately DN doesn't provide any easy way to do that, so
> there's little point in Isis providing an API to invalidate a class if the
> underlying DN metamodel hasn't also been updated.
>
> One reasonable workaround is to use contributed actions, and/or event bus,
> and have them in essence "decorate" the class.  As your app gets larger
> you'll probably want to be using these anyway. And the contributing
> services can be reloaded by DCEVM without requiring any enhancing going on.
>
> ~~~
> Alternatively you could dust off the JRebel plugin that I worked on [1].  I
> did get this working reasonably well for me, though I'm not sure if anyone
> else did.  (And, having said that I haven't found myself reaching for it,
> but partly because I switch context between projects all the time).
> Anyway, perhaps worth checking out.
>
> HTH
> Dan
>
>
> [1] https://github.com/isisaddons/isis-jrebel-plugin
>
>
>
> On 31 July 2015 at 09:03, Martin Grigorov <[email protected]> wrote:
>
> > Hi,
> >
> > I use DCEVM for code reloading. It is free and there is nothing to learn.
> > But it doesn't help with updating Isis meta model.
> > It would be nice if Isis exposes REST/JMX/... interface that triggers
> > rebuild of the model.
> > @Dan: is this possible with the code of isis-mavel-plugin?
> > On Jul 31, 2015 7:45 AM, "Stephen Cameron" <[email protected]>
> > wrote:
> >
> > > Hi again,
> > >
> > > After playing around with options I now think there isn't much
> > opportunity
> > > to speed things up, other than to use JRebel or change the way I
> develop
> > > (not start the webapp so much). The webapp project looks for jars in
> the
> > > maven repository not the war, so I only need to do maven install on the
> > dom
> > > project when I change a dom class. That should have been apparent
> sooner
> > :(
> > >
> > > Bottomline: the webapp takes some time to start, but that is fine.
> > >
> > >
> > >
> > > On Fri, Jul 31, 2015 at 11:27 AM, Stephen Cameron <
> > > [email protected]> wrote:
> > >
> > > > Hi,
> > > >
> > > > I would greatly appreciate some advice on speeding up development in
> > > > Eclipse. Using the simpleapp project with separate dom, fixture,
> > > integtest
> > > > and webapp subprojects.
> > > >
> > > > I'd at least like the webserver (jetty,tomcat) to restart when I
> > modify a
> > > > dom class. This is what I am used to with Dynamic Web Projects,
> however
> > > > after a bit of trying today I still cannot get that to work, using
> > > Tomcat.
> > > >
> > > > It seems most are using JRebel with IntelliJ, but I am not so keen to
> > go
> > > > there yet as I am (re)learning on many fronts at present.
> > > >
> > > > The issue with Tomcat is a jetty dependancy, this was noted
> previously
> > > > [1], but I could not get around it by removing
> > > > jetty-all-9.2.11.v20150529.jar as suggested, I then got a
> null-pointer
> > > > exception.
> > > >
> > > > At the moment I have to rebuild the whole project after a class
> change
> > in
> > > > the dom-project then restart the server to see the change. Is the
> > because
> > > > the .war has to be rebuilt for mvn jetty:run to use the new version
> of
> > > the
> > > > class file?
> > > >
> > > > I've just tried to use the eclipse jetty plugin but that is telling
> me
> > > > that the dom classes have not been enhanced by datanucleus.
> > > >
> > > > Hoping for some insights.
> > > >
> > > > Thanks
> > > > Steve C
> > > >
> > > >
> > > > [1]
> > > http://permalink.gmane.org/gmane.comp.apache.incubator.isis.devel/9931
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>

Reply via email to