Re: [Asterisk-java-users] how to monitor asterisk events for ever
Brought to you by:
srt
|
From: Wayne M. <way...@th...> - 2014-12-15 16:44:16
|
Even with AsteriskServerListener you still need a class that is running
to keep the connections open. As soon as your main thread dies, all the
objects are killed off and you're back to square one.
I use the Asterisk Live interface with the server listener just because
you can do things in one line of code that the older stuff took several
to do.
I have a page on github if you want to look through it but there is a
lot of code there that does all sorts of weird stuff that you won't be
interested in. Effectively I have a variation of the previous example
that goes something like this:
public class Server extends Thread implements AsteriskServerListener {
private AsteriskServer asterisk;
public Server(){
asterisk = new DefaultAsteriskServer("host", "user", "pass");
}
public void connect() throws ManagerCommunicationException {
asterisk.initialize();
asterisk.addAsteriskServerListener(this);
}
public void disconnect(){
asterisk.shutdown();
}
public static void main(String[] args) throws ManagerCommunicationException {
Server srv = new Server();
srv.connect();
boolean go = true;
while(go){
try{
sleep(1000);
}catch(InterruptedException e){
go = false;
e.printStackTrace();
}
}
srv.disconnect();
}
//AsteriskServerListener
public void onNewAsteriskChannel(AsteriskChannel channel){
//Do stuff with the new channel here (probably add a property change listener)
}
public void onNewQueueEntry(AsteriskQueueEntry entry){
//Do stuff with the queue entries here
}
}
Beware of typos, I've just cut and paste this from previous code and may
have missed stuff out.
Wayne Merricks
The Voice Asia
On 15/12/14 15:43, MT wrote:
> thanks again,
>
> do you suggest using loop and sleep or AsteriskServerListener?
>
> On Mon, Dec 15, 2014 at 7:06 PM, Wayne Merricks
> <way...@th...
> <mailto:way...@th...>> wrote:
>
> Apologies I missed off the while loop at the top e.g:
>
> boolean go = true;
>
> //Do any prep work here
>
> while(go){
>
> try{
> sleep(1000);
> }catch(InterruptedException e){
> go = false;
> e.printStackTrace();
> }
>
> }
>
> //Do any clean up here
>
> Wayne Merricks
> The Voice Asia
>
> On 15/12/14 15:26, MT wrote:
>> hi wayne,
>>
>> thanks for your reply,
>> I need to monitor events forever not just for a period of time
>>
>> On Mon, Dec 15, 2014 at 6:22 PM, Wayne Merricks
>> <way...@th...
>> <mailto:way...@th...>> wrote:
>>
>> You could just loop the sleep bit.
>>
>> I use the live interfaces which makes things a bit more
>> readable but it still boils down to having a class somewhere
>> that just does:
>>
>> public void run() {
>>
>> try{
>> sleep(whatever amount of time);
>> }catch(InterruptedException e){
>> e.printStackTrace();
>> }
>>
>> }
>>
>> Wayne Merricks
>> The Voice Asia
>>
>> On 15/12/14 14:05, MT wrote:
>>> Hi,
>>>
>>> I use very long thread.sleep for listening to events for a
>>> long time and when times out with some daemon tools I start
>>> application again, I want to know is there any better solution?
>>>
>>> I use following way:
>>>
>>> public class Monitor extends AbstractManagerEventListener {
>>>
>>> private ManagerConnection managerConnection;
>>>
>>> public Monitor() throws IOException {
>>> ManagerConnectionFactory factory = new
>>> ManagerConnectionFactory(
>>> "localhost", "user", "pass");
>>> this.managerConnection =
>>> factory.createManagerConnection();
>>> }
>>>
>>> public void run() throws IOException,
>>> AuthenticationFailedException,
>>> TimeoutException, InterruptedException {
>>>
>>> managerConnection.addEventListener(this);
>>> managerConnection.login();
>>> Thread.sleep(new Long(1000000000));
>>> }
>>>
>>> public static void main(String[] args) throws Exception {
>>> Monitor helloEvents;
>>>
>>> helloEvents = new Monitor();
>>> helloEvents.run();
>>> }
>>>
>>> public void onManagerEvent(ManagerEvent event) {
>>> // Do Something
>>> }
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
>>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
>>> with Interactivity, Sharing, Native Excel Exports, App Integration & more
>>> Get technology previously reserved for billion-dollar corporations, FREE
>>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
>>>
>>>
>>> _______________________________________________
>>> Asterisk-java-users mailing list
>>> Ast...@li... <mailto:Ast...@li...>
>>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users
>>
>>
>> ------------------------------------------------------------------------------
>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
>> from Actuate! Instantly Supercharge Your Business Reports and
>> Dashboards
>> with Interactivity, Sharing, Native Excel Exports, App
>> Integration & more
>> Get technology previously reserved for billion-dollar
>> corporations, FREE
>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Asterisk-java-users mailing list
>> Ast...@li...
>> <mailto:Ast...@li...>
>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
>> with Interactivity, Sharing, Native Excel Exports, App Integration & more
>> Get technology previously reserved for billion-dollar corporations, FREE
>> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
>>
>>
>> _______________________________________________
>> Asterisk-java-users mailing list
>> Ast...@li... <mailto:Ast...@li...>
>> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users
>
>
> ------------------------------------------------------------------------------
> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> from Actuate! Instantly Supercharge Your Business Reports and
> Dashboards
> with Interactivity, Sharing, Native Excel Exports, App Integration
> & more
> Get technology previously reserved for billion-dollar
> corporations, FREE
> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
> _______________________________________________
> Asterisk-java-users mailing list
> Ast...@li...
> <mailto:Ast...@li...>
> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users
>
>
>
> ------------------------------------------------------------------------------
> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
> with Interactivity, Sharing, Native Excel Exports, App Integration & more
> Get technology previously reserved for billion-dollar corporations, FREE
> http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
>
>
> _______________________________________________
> Asterisk-java-users mailing list
> Ast...@li...
> https://lists.sourceforge.net/lists/listinfo/asterisk-java-users
|