posible referência circular entre servicios. error no tomcat, mas não no run-app
15/09/2014 16:06
0
olá estou fazendo um código com o grails 1.3.7 e roda bem com o comando run-app, no entanto na hora de subor a app para o tomcat 6algum pode me confirmar se esta declaração é um caso de referência circula entre os servicios. O que é dificil de entender para mim é que o error acontece na hora de subir o .war ao tomcat.
a declaração das clases é:

class ClaseDemandaService {
def usuarioService
}
class ProductoService {
def claseDemandaService
}
class InvitacionService {
def productoService
}
class EventoInvitacionService {
def invitacionService
}
class EventoService {
def productoService
def invitacionService
def usuarioService
}
Tags: referência circular, servicios, tomcat, deploy


0
Oi Israel,

quando você faz o deploy da aplicação no servidor dá algum erro? Tem algum stacktrace que você queira compartilhar aqui?

Por baixo dos panos quem faz isto é o Spring, e na maior parte das vezes ele evita que este tipo de problema ocorra. Só vi ocorrer até hoje quando a injeção se dá por construtores, como não é o seu caso, acredito que não vá dar problema.


0
sim.. o error é:

var/log/tomcat7/catalina.out
-------------------------------------
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#3': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'claseDemandaService': Cannot create inner bean '(inner bean)' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#3': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usuarioService': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
... 3 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'claseDemandaService': Cannot create inner bean '(inner bean)' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#3': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usuarioService': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
... 3 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#3': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usuarioService': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
... 3 more
15/09/2014 16:54


0
esa é só uma parte dos error porque são muitos mas do mesmo tipo. Existe um output parecido no outro forum no enredereço http://stackoverflow.com/questions/23685583/error-in-declaration-of-service-within-grails-service. Estão relacionados estos errors?
15/09/2014 16:56


0
Israel,

normalmente quando o erro envolve a criação do transaction manager, tal como exposto no seu log, está diretamente relacionado às configurações de acesso ao banco de dados.

Verifique se no seu ambiente "production" está com dados corretos.


0
tenho certeza que está certo porque estou usando os mesmos dados de desenvolvimento e estoy usando o tomcat na minha pc. Existe outra causa?
15/09/2014 17:15


0
tenho definido para todos os ambientes os valores:

dataSource.driverClassName=com.mysql.jdbc.Driver
dataSource.url=jdbc:mysql://localhost:3306/class
dataSource.username=root
dataSource.password=root
15/09/2014 17:27


0
meu ambiente de prodution

production {
dataSource {
dbCreate = "update"
url = ""
}
}
15/09/2014 17:31


0
Sua URL em produção é uma string vazia?


0
eu defini os mesmos valores para qualquer um ambiente:
dataSource.driverClassName=com.mysql.jdbc.Driver
dataSource.url=jdbc:mysql://localhost:3306/class
dataSource.username=root
dataSource.password=root
16/09/2014 00:54



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto