2015-11-24 4 views
1

Я использую Apache Karaf и Blueprint, я с трудом интегрирующую эти технологии с Restlet. Я нашел библиотеку org.restlet.ext.osgi и этот учебник OSGi at REST, который использует Service Component Runtime.Restlet ресурсов сервера в Blueprint (Apache Karaf)

Так образец ServerResource бы

public SampleResource extends ServerResource { 
    @Get 
    public Representation represent(Representation representation){ 
     /* Do something crazy here */ 
    } 
} 

, чтобы зарегистрировать его в качестве ресурса он должен быть присоединен к маршрутизатору или приложению

public class SampleRouter extends Router { 
    public SampleRouter { 
     super(); 
     attach("/sampleroute", SampleResource.class); 
    } 
} 

прикрепляя его с помощью SampleResource.class довольно хлопотное, если у меня есть с использованием Blueprint

public SampleResource extends ServerResource { 

    private InjectedDependency dependency; /* Injected using Blueprint */ 

    @Get 
    public Representation represent(Representation representation){ 
     /* Do something crazy here */ 
    } 
}  

Как я могу подключить ServerResource, даже если я ввел Blueprint Services или есть ли альтернативы?

ответ

0

Используйте верблюд Apache для определения интеграции рестлеров. Фактически их новый REST DSL прост в использовании. См http://camel.apache.org/rest-dsl.html http://camel.apache.org/restlet.html

верблюд имеет схему Blueprint, определенный таким образом Вы получаете инструментальную поддержку и помощь с определениями Blueprint. Так я бы пошел, если вы хотите использовать план с помощью Restlet в Karaf.

Edit: Вот Barebone пример Restlet в Camel Blueprint:

<camelContext> 
    <route id="RS_RestletDemo"> 
    <from uri="restlet:http://localhost:7000/demo/{id}" /> 
    <transform> 
     <simple>Request type : ${header.CamelHttpMethod} and ID : ${header.id}</simple> 
    </transform> 
    </route> 
</camelContext> 

Для получения дополнительной информации смотрите на документацию Camel. Я думаю, что для преобразования своего кода или создания чего-либо, основанного на ваших требованиях, это хорошее упражнение для вас, чтобы его изучить.

+0

Не могли бы вы привести некоторые примеры или лучше перевести фрагмент выше, используя 'Apache Camel'? – megamoth

+0

Я отредактировал свой ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^