2010-12-03 5 views
0

제발 이해해주십시오. 정적 변수가 Java EE 응용 프로그램에 정의되면 해당 변수는 표시되며 다른 사용자가 변경할 수 있습니다. 하지만 actionscript의 경우 정적 변수의 범위는 브라우저의 창에서 실행되는 응용 프로그램입니다.ActionScript의 정적 변수와 Java EE의 차이점

그런 경우 actionscript가 클라이언트 측이고 Java EE가 서버 측이기 때문에 Java EE에서 정적 변수처럼 동작하도록 actionscript에서 변수를 정의 할 수 있습니까?

+0

"이 경우 J2SE에서 정적 변수처럼 동작하도록 actionscript에서 변수를 정의 할 수 있습니까?" - Action 스크립트에 정의 된 변수의 값을 공유하고 여러 브라우저 및 여러 대의 컴퓨터를 사용하고 싶습니까? – Ralph

+1

이것으로 무엇을하고 싶습니까? – Pbirkoff

+0

@ 랄프. 예. @Pbirkoff. 지식에 대한 정보를 원했습니다. – Prabhat

답변

1

'싱글 톤'객체 - 시스템 전체에서 액세스 할 수있는 하나의 객체가 필요합니다.

심지어 Java에서 '정적'으로도 도움이되지 않습니다. 예를 들어 클러스터링을 사용할 때 클러스터의 각 시스템이 자체 복사본을 실행하는 경우와 같이 JavaEE에 정적 변수 사본이 두 개 이상있을 수 있습니다 따라서 '정적'변수의 자체 복사본을 갖게됩니다. 10 개의 클라이언트 (플래시 또는 플렉스에서)와 10 개의 클러스터 된 서버가있는 경우 각 클라이언트는 자체 서버를 가질 수 있으므로 각 클라이언트는 자체 정적 변수를 서버에 가져올 수 있습니다.

또한 서버를 다시 시작했지만 클라이언트가 여전히 작동 중이면 모든 정적 변수가 손실됩니다. 서버 측에서 일부 파일에 '싱글'데이터를 저장

  • 너무 모든 노드 :

    참, 시스템 레벨의 싱글을 만들 수있는 유일한 방법은 같은 더 복잡한 솔루션을 사용하는 것입니다 클러스터 및 모든 클라이언트가이 파일에 액세스 할 수 있습니다.

  • '싱글 톤'데이터를 데이터베이스에 저장합니다.
  • 응용 프로그램 범위의 Enterprise Java Beans를 사용하십시오.
  • Terracotta를 사용하면 '정적'변수를 코드에서 아무런 변화없이 자동으로 정적 인 영구 변수로 바꿀 수 있습니다.
0

자바 스크립트를 통해 브라우저에 변수를 전달하거나 socket/urlloader/javascript를 통해 서버에 변수를 전달할 수 있습니다.

AS3의 정적 변수는 선언 할 때 public, protected, internal, private과 같은 범위를 가지며 특정 클래스 정의에 첨부됩니다.

1

정체에 대한 이해가 정확합니다.

그러나이 문제는 여러 클라이언트간에 값을 공유하려고하는 경우에 발생합니다. 그러나 간단한 해결책은 없습니다. 필요한 것은 값을 저장하는 서버이며 클라이언트는 서버에이 값을 요청하고 서버에 값을 업데이트하도록 요청해야합니다.

+0

다른 방법으로는 값을 공유하는 것이 클라이언트를위한 피어 투 피어 네트워크와 같은 것을 구축하는 것입니다.하지만 플래시/플렉스에서는 불가능합니다. – Ralph

+0

알겠습니다.따라서 자바 나 차가운 융합과 같이 백엔드를 지원하는 것 외에 다른 방법은 없습니다. – Prabhat

+0

iirekm는 하나 이상의 서버가있는 경우에 적합합니다. 그러나 귀하의 환경이 아닌 것 같습니다. – Ralph

0

FP10.1의 최근 추가 된 실시간 미디어 흐름 프로토콜을 사용하여 P2P 메시 네트워크를 통해 값을 공유 할 수 있습니다. 그렇지 않으면 원격 공유 객체를 사용하여 다른 클라이언트 시스템간에 값을 공유 할 수 있습니다 (그러나 FMS, WebOrb, FluorineFX, AMFPHP 등과 같은 서버 측 원격 솔루션이 필요함).