apetrov
I'm new here

Remote FeatureAgent

Jump to solution

Hallo Community, ich würde gerne den FeatureAgent eines entfernten Projekts ansprechen, leider gehen mir langsam die Ideen aus. Über folgenden Weg komme ich nicht dran...

project.getUserService().getConnection().getBroker().requireSpecialist(FeatureAgent.TYPE)

Wie könnte ich noch dran kommen? Kann ich mir per remote connection irgendwie einen project context erzeugen?

Grüße Artem

0 Kudos
1 Solution

Accepted Solutions

Hi,

das Problem ist, dass die Methode Connection.getBroker() einen nicht projektgebundenen SpecialistsBroker zurück liefert, der FeatureAgent aber immer projektgebunden ist.

Folgender Code sollte deshalb funktionieren:

Es wird zuerst ein BrokerAgent geholt, welcher dann einen projektgebundenen SpecialistsBroker zurückliefern kann:

SpecialistsBroker broker = connection.getBroker(); // nicht projektgebunden

BrokerAgent brokerAgent = broker.requireSpecialist(BrokerAgent.TYPE);

broker = brokerAgent.getBrokerByProjectName(project.getName()); // projektgebunden

FeatureAgent agent = broker.requireSpecialist(FeatureAgent.TYPE);

Viele Grüße

Rouven

View solution in original post

0 Kudos
3 Replies
broszeit
I'm new here

Hallo Artem,

die Connection, welche du dir mit dem obigen Code holst ist aus dem eigenen Project und somit holst du dir auch den FeatureAgent aus dem lokalen Project.

Du musst zuerst eine Remote Connection holen und dann von dieser aus den FeatureAgent holen.

Dafür wird die Methode Connection.getRemoteConnection(RemoteProjectConfiguration config) mit der vorher passend erstellten RemoteProjectConfiguration aufgerufen.

Viele Grüße

Rouven

0 Kudos

Hi, danke für die Antwort, das Problem bei dem obigen Aufruf ist, dass ich auch dort den FeatureAgent nicht bekomme. Habe das nun auch mit .getRemoteConnection(...) ausprobiert und stoße auf dasselbe Problem

java.lang.IllegalStateException: No specialist found for 'de.espirit.firstspirit.feature.FeatureAgent$1@871eac98'

Kann es sein, dass der FeatureAgent nur über den ScriptContext geholt werden kann? Das ist bisher der einzige Weg auf dem ich an den FeatureAgent rangekommen bin.

Grüße Artem

0 Kudos

Hi,

das Problem ist, dass die Methode Connection.getBroker() einen nicht projektgebundenen SpecialistsBroker zurück liefert, der FeatureAgent aber immer projektgebunden ist.

Folgender Code sollte deshalb funktionieren:

Es wird zuerst ein BrokerAgent geholt, welcher dann einen projektgebundenen SpecialistsBroker zurückliefern kann:

SpecialistsBroker broker = connection.getBroker(); // nicht projektgebunden

BrokerAgent brokerAgent = broker.requireSpecialist(BrokerAgent.TYPE);

broker = brokerAgent.getBrokerByProjectName(project.getName()); // projektgebunden

FeatureAgent agent = broker.requireSpecialist(FeatureAgent.TYPE);

Viele Grüße

Rouven

0 Kudos