0

複数のユーザー (クライアント 1、クライアント 2、...) を含むページがあり、「Salir de reunion」(ボタン 1) ボタンを押してホームページ ( http://localhost:8080/FasMe ) にリダイレクトしたい/faces / Public / Inicio.xhtml) すべてのクライアントで。

各クライアントは、SessionScoped ManagedBean です。

ここに画像の説明を入力

ボタンを押したユーザー(クライアント)のホームページ(/Public/Inicio.xhtml)にリダイレクトされるだけです。すべてのクライアント (ブラウザー) でリダイレクトを行いたい。どうすればいいですか?

ReunionActiva.xhtml

    <h:panelGrid id="reunionPanel" columns="2" >
            <h:commandButton value="Salir de Reunion" styleClass="btn" action="#{reunionBean.salirReunion}"  ></h:commandButton>                
    </h:panelGrid>

私のボタン「会議を終了する」のビジネスロジックは次のとおりです。

ReunionManagedBean.java @ManagedBean(name="usuarioBean")

public String salirReunion(){

    Cuenta ctaCoordinador=participanteF.getCuentaReunion(reu, reuF.getCoordinadorReunion(reu.getIdReunion()));
    Cuenta ctaParticipante=ctaF.getCuentaByUsuario(usuarioActualBean.getCurrent(), ctaCoordinador.getServidorTareas());

    // If user is ADMIN then I want to delete all user of meeting and close de Meeting
    if(ctaCoordinador.getId().equals(ctaParticipante.getId())){
        Calendar cal = Calendar.getInstance();
        reu.setFechaFin(cal.getTime());
        reu.setEstado("Cerrada"); // It´s meaning setStatus CLOSE
        reuF.modificacionReunion(reu);

        List<CuentaHasReunion> p=participanteF.getAllParticipantes(reu);
        for (Object element : p) {
            CuentaHasReunion part= (CuentaHasReunion) element;
            participanteF.bajaParticipante(part); //Here I delete all user from meeting
            // Here is where I need to do the redirect to all Clients (Client1 , Client2)
         }
        ReunionSingleton.eliminarReunionActiva(reu);
    }
    // If user isn't ADMIN then I only delete user who click the button "salir reunion"
    else{
        participanteF.bajaParticipante(participanteF.getParticipante(ctaParticipante, reu));

    }

    return "/Public/Reunion.xhtml?faces-redirect=true";
}
4

1 に答える 1

0

ICEfaces Push (これを最初にブロックしたようです) と PrimeFaces Pushを見てください。通常、Web は要求ベースであるため、各クライアントは更新を要求する必要があります。これらにより、クライアントは ajax を介して、リクエスト パケットがほとんどないサーバー上に興味深いものがあるかどうかを定期的に尋ねることができると思います。サーバーが「はい」と言った場合、クライアントは「私を更新してください」と言います。いずれにせよ、これはあなたが探しているものだと思います。

より同期的なものが必要な場合は、ネットワーク ソケットまたは RMI を使用して何かを実装する必要があるかもしれません。

于 2012-11-21T00:09:14.763 に答える