New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No way to use RPC client from service #63
Comments
Service that injects a controller sounds so wrong. |
service that cant use rpc requests sound wrong too :) controllers are just transport handling buffer and inability to call rpc from main app part - services - looks strange. |
Hi @artaommahe,
It is quite interesting. Do you still have this issue after latest update? |
@kamilmysliwiec here it is
after 3 seconds
|
@kamilmysliwiec i checked more - issue due to @Client({ transport: Transport.TCP, port: 65441 })
private client: ClientProxy;
constructor() {
setTimeout(() => console.log('service client', this.client), 3000);
} In same repo remove service constructor, inject service into controller and call service method from controller and it works fine. export class RpcClientController {
constructor(private rpcClientService: RpcClientService) {
setTimeout(() => console.log('controller client', this.rpcClientService.get()), 3000);
} Hope this will work with defined |
Hi @artaommahe, |
@kamilmysliwiec but how can i inject smth in service if using constructor breaks RPC client creation?) |
Since |
@kamilmysliwiec moved |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
@RequestMapping()
on some method (try to remove method with@RequestMapping
from controller and in controller constructor callthis.client.send()
after some timeout,this.client
will benull
)Just got example from documentation (Client section) and tried all above.
IMHO the most important is 2 issue cause it's useful to have controllers that works with all transport (http/ws/rpc) things and services for all other work. So service should be able to inject appropriate controller to call RPC client action or send smth away via websocket.
Update. Or maybe we can move RPC client/server to Gateway? They can be injected into anything and rpc has same interaction logic as websocket (ability to receive and send messages).
The text was updated successfully, but these errors were encountered: