ďťż
 
[Seam] Application Scope ďťż
 
[Seam] Application Scope
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[Seam] Application Scope



Wojtek - 15-03-2007 00:04
[Seam] Application Scope
  Mam takiego beana:

@Scope(ScopeType.APPLICATION)
@Name("single")

public class SingleComponent {

public SingleComponent()

{

System.out.println("SingleComponent.SingleComponen t()");

}

public void doSth()

{

System.out.println("SingleComponent.doSth()");

}

Użyłem ScopeType.Application, bo chciałem żeby bean utworzył się jeden dla
wszystkich wywołań z jakiegokolwiek kontekstu.

W inym beanie sięgam do tego beana w następujący sposób:

@In(create=true)

private SingleComponent single;

Okazuje się jednak że konstruktor SingleComponent() jest wywoływany
dwukrotnie, a wydawało mi się że będzie wywoływany tylko raz.

Jak temu zaradzić lub jak z wykorzystaniem Seama utowrzyć komponent który
będzie miał tylko jedną instancję w aplikacji?

Z góry dziękuje za pomoc

Pozdrawiam

Wojtek





Bla - 15-03-2007 00:04

  A nie możesz użyć wzorca Singletona?




Jacek Laskowski - 15-03-2007 00:04

  Wojtek wrote:

> Okazuje się jednak że konstruktor SingleComponent() jest wywoływany
> dwukrotnie, a wydawało mi się że będzie wywoływany tylko raz.

Wiesz może kiedy wywoływany jest pierwszy raz? Jaka wersja Seama?

Jacek

--
Jacek Laskowski
http://www.jaceklaskowski.pl




Wojtek - 16-03-2007 00:02

  Użytkownik "Jacek Laskowski" <jacek@laskowski.net.pl> napisał w wiadomości
news:et9gpl$334$3@news.onet.pl...
>> Okazuje się jednak że konstruktor SingleComponent() jest wywoływany
>> dwukrotnie, a wydawało mi się że będzie wywoływany tylko raz.
>
> Wiesz może kiedy wywoływany jest pierwszy raz? Jaka wersja Seama?
>

Wywoływany jest dwukrotnie w momencie zainicjowania beana w którym jest
zmienna odnosząca się do Single Component.
Żeby jaśniej to przedstawić:

@Stateful

@Name("dialog")

@Scope(ScopeType.CONVERSATION)

public class DialogBean implements Serializable, Dialog{

@In(create=true)

private SingleComponent single;

......

}

Gdy pierwszy raz odwołam się do komponentu "dialog" (rozpocznę nowy
kontekst) to od razu konstruktor jest wywoływany dwa razy (nawet bez
korzystania z "single") A Single jak już wspominałem wygląda następująco:

@Scope(ScopeType.APPLICATION)
@Name("single")
public class SingleComponent {

public SingleComponent(){
System.out.println("SingleComponent.SingleComponen t()");
}
public void doSth()
{
System.out.println("SingleComponent.doSth()");
}

Wersja Seama 1.1.0.GA. Może faktycznie spróbuje skorzystać z nowszej wersji.

Wojtek





Wojtek - 16-03-2007 00:02

  Użytkownik "Jacek Laskowski" <jacek@laskowski.net.pl> napisał w wiadomości
news:et9gpl$334$3@news.onet.pl...
>> Okazuje się jednak że konstruktor SingleComponent() jest wywoływany
>> dwukrotnie, a wydawało mi się że będzie wywoływany tylko raz.
>
> Wiesz może kiedy wywoływany jest pierwszy raz? Jaka wersja Seama?
>

Wywoływany jest dwukrotnie w momencie zainicjowania beana w którym jest
zmienna odnosząca się do Single Component.
Żeby jaśniej to przedstawić:

@Stateful
@Name("dialog")
@Scope(ScopeType.CONVERSATION)
public class DialogBean implements Serializable, Dialog{

@In(create=true)
private SingleComponent single;
.....
}

Gdy pierwszy raz odwołam się do komponentu "dialog" (rozpocznę nowy
kontekst) to od razu konstruktor jest wywoływany dwa razy (nawet bez
korzystania z "single") A Single jak już wspominałem wygląda następująco:

@Scope(ScopeType.APPLICATION)
@Name("single")
public class SingleComponent {

public SingleComponent(){
System.out.println("SingleComponent.SingleComponen t()");
}
public void doSth()
{
System.out.println("SingleComponent.doSth()");
}

Wersja Seama 1.1.0.GA. Może faktycznie spróbuje skorzystać z nowszej wersji
i zobacze co będzie.

Pozdrawiam

Wojtek
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle Application Express na Oracle Database 10g Express Edition- wykonalne? W Database 10g Express Edition jakos nie moge sie doszukac ApplicationBuildera? probl.z komunikatem "Class definition WORD.APPLICATION is not found" w VFP 6 Problem z instalacja Oracle Application Server 10g Oracle Application Server polaczenie z baza Oracle Application Express - uzytkownicy [Oracle] Logowanie do Application Express Oracle Application Server Seam =?ISO-8859-2?Q?modu=B3owo?= [my sql] przekodowanie bazy
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • absolwenci.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com