Entendo a posição do Diogo, observe o Account dele:
public class Account implements java.io.Serializable {
> private Integer accountId;
> private AccountRepository accountRepository;
Contém um repositório que pela lógica deve ser injetado. Pelo o que entendi,
o problema acontece que quem dá a instância de Account é o BlazeDS, e não
injetado pelo Spring, logo o repository sempre fica nulo.
Pelo seu código, parece que você segue o padrão ActiveRecord, sempre quiz
testar este padrão em projetos java.
Com flex, acredito que você terá problemas, pois através da
metadata/annotation RemoteClass, o Blaze é quem dá a instância. Talvez
implementado um novo JavaAdapter, tirando o que é default, mas aí você teria
problemas com o estado do objeto passado pelo Flex, teria de fazer alguns
artifícios computacionais..
Outra forma seria interceptar via Aspect mesmo, e atribuir o estado do
objeto passado pelo flex, ao bean gerenciado pelo Spring, mas aí está
ficando complicado.
Hun.. realmente não sei a melhor a forma, teria que dar uma pesquisada.
Alguém tem alguma sugestão?
2008/8/25 Mário Júnior <[EMAIL PROTECTED]>
> Data-management-config é quando se usa o LCDS para poder usar objetos
> Managed e com os Assemblers no Java para trabalhar com o datapush ativo.
>
> Pode-se usar só a remoting-config normalmente.
>
> Agora, vendo seu exemplo:
> "Ex:. userService.save(User u);"
>
> Se entendi bem oq quer fazer, essa variável "u" não será injetada pelo
> spring mesmo, será manipulada pelo BlazeDS, que logo, irá trazer pra vc
> sempre uma nova referência. Talvez esteja havendo alguma confusão em relação
> a injeção dos beans. Para o spring injetar essa variável pra vc, vc teria q
> ter o escopo dela na classe - e não como parâmetro do método - além do mais,
> vc precisa ter um setter para sua variável, daí sim o spring injeta ela
> dentro da sua classe. Tipo:
>
>
> public class UsuarioService {
>
> private var User usarioInjetado; <-- variável q será injetada, escopo
> na classe
>
> @Required <-- facultativo, mas aconselhávela partir do spring 2
> public void setUsuarioInjetado(User usuarioInjetado) {
> this.usuarioInjetado = usuarioInjetado;
> }
>
>
> //metodo invocado pelo BlazeDS
> public void save(User u2) {
>
> u2 <- aqui é sempre uma nova referência, pois foi inicializado pelo
> Blaze
> usuarioInjetado <-- agora esse cara aqui é do spring, Ele foi
> inicializado logo q sua aplicação subiu, e tem seu ciclo de vida e estado
> controlado pelo spring.
>
> }
>
> }
>
>
> Agora, é preciso ter cuidado aí, pois suas classes injetadas tornam-se
> singletons. Logo, todas as requisições vindas do BlazeDS/Flex irão trabalhar
> sempre com a mesma instância. (Por isso é declarado um factory do spring no
> services-config e no remote-config, que irá pegar sempre uma instância
> válida). Se o objetivo aí é controlar o usuário, acho bem arriscado pois
> poderá estar com vários usuários logados na app e somente um (akele q foi
> injetado) sendo salvo.
>
> Outra forma de injeção de objetos pelo spring é passando objeto pelo
> construtor da classe, mas acho q não muda em nada para você (a menos q seja
> explicitamente necessário passar pelo construtor)
>
> Bem.. se entendi bem oq pretende, aconselho a tirar o usuário da injeção...
> agora, se não foi, so sorry =D .... reformula a pergunta e manda dnovo... =D
>
>
> Um abraço.
>
>
> --
> Mário de Souza Júnior
> Programador Java / Flex : AS3 / PHP
> (44) 4009-3550 Maringá-PR
> http://blog.mariojunior.com
> [EMAIL PROTECTED] (gtalk, msn, etc..)
>
> >
>
--
Atenciosamente:
-----------------------------------------------
| Rodrigo Pereira Fraga|
http://www.digows.com/
http://forum.flexbrasil.com.br/
-----------------------------------------------
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---