Ebean and JavaFx

128 views
Skip to first unread message

Masimo

unread,
Sep 8, 2010, 5:50:17 AM9/8/10
to Ebean ORM
Hi all,

I have some severe problems to get ebean up and running in a JavaFx
desktop application. Environment is:

NetBeans: 6.9.1
JavaFX: 1.3.1
Ebean: 2.6.1
Java: 1.6.0_17


When I start the application from IDE or from command line, I get the
following stack trace:

08.09.2010 11:42:06 com.avaje.ebean.Ebean <clinit>
INFO: Ebean Version[2.6.1] Java Version[1.6.0_17]
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.util.ClassPathSearch findClasses
WARNUNG: No Entities found in ClassPath using ClassPathReader
[com.avaje.ebeaninternal.server.util.DefaultClassPathReader@1a33d48]
Classpath Searched[[file:/C:/Program%20Files/NetBeans%206.9.1/javafx/
javafx-sdk/lib/shared/javafxrt.jar, file:/C:/Program%20Files/NetBeans
%206.9.1/javafx/javafx-sdk/lib/desktop/eula.jar, file:/C:/Program
%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/javafx-
anim.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/
lib/desktop/javafx-geom.jar, file:/C:/Program%20Files/NetBeans%206.9.1/
javafx/javafx-sdk/lib/desktop/decora-runtime.jar, file:/C:/Program
%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/decora-
j2d.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/
lib/desktop/decora-jsw.jar, file:/C:/Program%20Files/NetBeans%206.9.1/
javafx/javafx-sdk/lib/desktop/decora-sse.jar, file:/C:/Program%20Files/
NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/decora-d3d.jar, file:/
C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/
decora-j2d-rsl.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/
javafx-sdk/lib/desktop/decora-ogl.jar, file:/C:/Program%20Files/
NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/decora-j2d-jogl.jar,
file:/C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/
desktop/javafx-sg-common.jar, file:/C:/Program%20Files/NetBeans
%206.9.1/javafx/javafx-sdk/lib/desktop/javafx-sg-swing.jar, file:/C:/
Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/javafx-
ui-common.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-
sdk/lib/desktop/javafx-ui-desktop.jar, file:/C:/Program%20Files/
NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/javafx-ui-swing.jar,
file:/C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/
desktop/javafx-ext-swing.jar, file:/C:/Program%20Files/NetBeans
%206.9.1/javafx/javafx-sdk/lib/desktop/jogl-common.jar, file:/C:/
Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/jogl-
awt.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/
lib/desktop/fxdloader.jar, file:/C:/Program%20Files/NetBeans%206.9.1/
javafx/javafx-sdk/lib/desktop/jmc.jar, file:/C:/Program%20Files/
NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/websvc.jar, file:/C:/
Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/javafx-
ui-controls.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/
javafx-sdk/lib/desktop/javafx-ui-charts.jar, file:/C:/Program%20Files/
NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/script-api.jar, file:/
C:/Program%20Files/NetBeans%206.9.1/javafx/javafx-sdk/lib/desktop/
javafx-common.jar, file:/C:/Program%20Files/NetBeans%206.9.1/javafx/
javafx-sdk/lib/desktop/javafx-io.jar, file:/C:/Development/tsg/
CyberStudio/dist/CyberClient.jar]]
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.core.BootupClassPathSearch search
INFO: Classpath search hits in jars[] pkgs[] searchTime[11]
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.lib.sql.DataSourcePool initialise
INFO: DataSourcePool [mysql] autoCommit[false]
transIsolation[READ_COMMITTED] min[1] max[25]
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.core.DefaultServerFactory
setDatabasePlatform
INFO: DatabasePlatform name:mysql platform:mysql
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.subclass.SubClassManager$1 run
INFO: SubClassFactory parent ClassLoader [sun.misc.Launcher
$AppClassLoader]
08.09.2010 11:42:06 com.avaje.ebeaninternal.server.deploy.DeployOrmXml
findAllOrmXml
INFO: No deployment xml (orm.xml etc) was loaded.
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.deploy.BeanDescriptorManager logStatus
INFO: Entities enhanced[0] subclassed[0]
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.transaction.TransactionLogManager
<init>
INFO: Transaction logs in: logs
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.autofetch.AutoFetchManagerFactory
deserializeAutoFetch
INFO: AutoFetch deserialized from file [C:\Development\tsg\CyberStudio
\.\.ebean.mysql.autofetch]
08.09.2010 11:42:06
com.avaje.ebeaninternal.server.autofetch.DefaultAutoFetchManagerLogging
logToJavaLogger
INFO: AutoFetch queryTuning[true] profiling[true] mode[DEFAULT_OFF]
profiling rate[0.05] min[1] base[10]
javax.persistence.PersistenceException: cyberclient.model.Customer is
NOT an Entity Bean registered with this server?
at
com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:
963)
at
com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:
923)
at
com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:
956)
at com.avaje.ebean.Ebean.find(Ebean.java:1142)
at
cyberclient.gui.CustomerLoader.getCustomer(CustomerLoader.java:18)
at
cyberclient.gui.CyberLogicController.loadMasterData(CyberLogicController.fx:
46)
at
cyberclient.gui.CyberLogicController.loadMasterData(CyberLogicController.fx:
46)
at cyberclient.gui.Main.javafx$run$(Main.fx:51)
at cyberclient.gui.Main.javafx$run$(Main.fx:51)


When I use the -javaagent option to enhance the POJOs at runtime, it
shows me the enhancements on the console. However, I get still the
message: javax.persistence.PersistenceException:
cyberclient.model.Customer is NOT an Entity Bean registered with this
server.

BTW: When I use a unit test from IntelliJ IDEA everything works fine.
(I can't use IntelliJ IDEA with JavaFX 1.3.1, that was the reason to
switch to netbeans. However I believe, this has something to do with
JavaFX and not with the IDE )

Any ideas are very much appreciated.

Regards
Martin

Rob Bygrave

unread,
Sep 8, 2010, 6:21:05 AM9/8/10
to eb...@googlegroups.com
This error indicates Ebean could not find any Entity Bean classes in the classpath.

I'd guess and say that your entity beans are in a JAR file.

That is, Ebean by default doesn't search inside the jars. You need to tell Ebean which jars it should look in for the entity beans.

You can do this by specifying the jars to search (comma delimited):

ebean.search.jars=CyberClient.jar,SomeOther.jar



Cheers, Rob.

Masimo

unread,
Sep 8, 2010, 8:18:40 AM9/8/10
to Ebean ORM
Hi Rob,

perfect guess! Now everything works fine.

Is the ebean.search.jars required independently from the "type of
enhancement" (ant/javaagent/automatic subclassing)?

Thanks a lot
Martin

Rob Bygrave

unread,
Sep 9, 2010, 1:56:51 AM9/9/10
to eb...@googlegroups.com
>> perfect guess! Now everything works fine.

Cool. Unfortunately a few people have hit this so really it should be documented a bit better. Perhaps a better description in warning logged when no entity beans are found via classpath search.


>>
Is the ebean.search.jars required independently from the "type of
enhancement" (ant/javaagent/automatic subclassing)?
<<

Yes.
Reply all
Reply to author
Forward
0 new messages