留言板

Service Builder - Nº Máximo de Entitys

Adri Vila,修改在12 年前。

Service Builder - Nº Máximo de Entitys

New Member 帖子: 9 加入日期: 11-6-14 最近的帖子
Hola,

Estoy desarrollando un portlet con muchas entidades. Tengo problemas al realizar un Build de Services.xml ya que si tengo mas de 86 entidades me da el siguiente error:

     [java] Building Entity1
     [java] Writing docroot\WEB-INF\src\cccb\arxiu\service\persistence\Entity1PersistenceImpl.java
     [java] Exception in thread "main" java.lang.StackOverflowError
     [java]     at java.util.regex.Pattern$GroupHead.match(Unknown Source)
     [java]     at java.util.regex.Pattern$Loop.match(Unknown Source)
     ... (and many more lines)
     [java] Java Result: 1
    [mkdir] Created dir: C:\...\docroot\WEB-INF\service-classes
   [delete] Deleting: C:\...\docroot\WEB-INF\lib\cccb-arxiu-portlet-service.jar
compile-java:
    [javac] Compiling 1394 source files to C:\...\docroot\WEB-INF\service-classes
      [zip] Building zip: C:\...\docroot\WEB-INF\lib\cccb-arxiu-portlet-service.jar
   [delete] Deleting directory C:...\WEB-INF\service-classes
BUILD SUCCESSFUL
Total time: 13 seconds


No es un error de la nueva entidad nº 87 sino que si una vez tengo el error quito cualquiera de las otras entidades si hará el build correctamente.

Hay algún límite en el nº de entidades? En la memoria máxima del compliador? En algo?

Agradezco vuestra ayuda por adelantado,
Adri
thumbnail
Mikel Goikoetxea,修改在12 年前。

RE: Service Builder - Nº Máximo de Entitys

Junior Member 帖子: 54 加入日期: 10-3-16 最近的帖子
Hola Adri,

En principio no existe ninguna limitación en cuanto a número de entidades en el service.xml.
Nosotros tenemos un portlet con más de 100 entidades y no nos da ningún problema a la hora de ejecutar el build-service.
Lo único si te fijas el error que te está dando es un StackOverflowError, prueba a aumentar el parámetro -Xss de la JVM.

A parte de esto, te voy a dar mi opinión sobre tener tantas entidades en un portlet.
En mi opinión un portlet debería ser un módulo ágil y lo más sencillo posible, ya que de lo contrario se puede convertir en un monstruo que nos puede dar muchísimos quebraderos de cabeza sobre todo en cuanto a mantenimiento.
A veces no hay otra alternativa que hacerlo en un único portlet pero te digo por experiencia que si te dejan emoticon te tomes un tiempo en analizar el caso e intentar dividirlo en módulos más pequeños.

Un saludo,

Mikel Goikoetxea Bilbao (@mgoibil)
B2B 2000