最近OSGI、CQ5を勉強中です。サービスを含むバンドルを構築しようとしています (私の最初のコード)。バンドルを正常にビルドし、そのバンドルを CQ5 にアップロードして、それもインストールします。
ただし、コンポーネントは登録済みのみを示し、アクティブではありません。なんで ?
私もこのサービスを有効にしたいです。これどうやってするの ?ネット上の誰かがjspを作ると言った。私もそうしていますが、何の反応もありませんでした。この問題から私を助けてください。私はこれに多くの時間を費やし、多くの検索をしましたが、解決策はありませんでした。
CQ5、CRXDE(Adobe)でサービスを利用するにはどうすればよいですか。
JSPコードは次のとおりです:-
<% var service = sling.getService(Packages.mh.osgitest.SayHello); %>
<%= service.sayHelloTest() %>
上記のコードは機能しません。
これらのスナップショットは
バンドル
成分
サービス
私のコードは次のとおりです:-
こんにちはと言う
package service.expose;
import org.apache.felix.scr.annotations.Service;
public interface SayHello {
public void sayHelloTest();
}
SayHelloTestServlet // サーブレットはここでは意味がありません。
package service.expose;
import java.io.IOException;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Deactivate;
import org.apache.felix.scr.annotations.Service;
@Component
@Service(value = SayHello.class)
public class SayHelloTestServlet implements SayHello {
public void sayHelloTest() {
System.out.println("Testing Say Hello");
}
@Activate
protected void activate() {
System.out.println("service started");
}
@Deactivate
protected void deactivate() {
System.out.println("service stopped");
}
}