Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Duvida com Grizzly e Apache

Uma duvida para entender o funcionamento, foi utilizado o Grizzly para o funcionamento do REST, contudo, em um lugar na qual trabalhei era usado Websphere e essa biblioteca Apache wink. Poderia me explicar as diferenças do código, porque agora se tiver como fazer a comparação, compreendo o funcionamento melhor.....E claro, sei o retorno de Json.

    public class Servidor {

        public static void main(String[] args) throws IOException {

                ResourceConfig config = new ResourceConfig().packages("br.com.alura.loja");
                URI uri = URI.create("http://localhost:8080/");
                HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
                System.out.println("Servidor rodando");
                System.in.read();
                server.stop();

        }
    }
    public static ClientResponse invocarEndpoint(String endpoint)    {
        ClientConfig clientConfig = new ClientConfig();
        org.apache.wink.client.RestClient rest = new org.apache.wink.client.RestClient(clientConfig);
        Resource resource = rest.resource(EndpointDiscovery.discoverEndpoint(endpoint));
        org.apache.wink.client.ClientResponse response = resource.contentType("application/json").accept("*/*").get();
        return response;
    }
6 respostas

Oi André, eu não conhecia o apache wink.. De todo jeito ele poderia sim ser usado como servidor de seus serviços rest.. Entretanto, no exemplo que vc deu acima, vc só ta usando a parte dele de consumir webservices rest.

Então nesse caso vc tem um servidor rodando com o Grizzly e um cliente consumindo os endpoints com o wink.

Sim, verdade é sóa parte de consumir...É usando em um servidor Websphere e isso usava na pratica no meu trabalho. Como foi usando Grizzly pelo treinamento, queria entender um pouco o conceito disso. Como não cheguei na metade do treinamento do Alura, talvez mais tarde tenha "ativar" a parte servidor em um Jboss ou wildfly. E nem como é explicar fisicamente e sim conceitualmente..em WildFly coloco uma biblioteca, ativo no servidor ou o que...o que deveria ser feito?

Muito obrigado

solução!

Se vc ta usando o wildfly, a implementação do Jax-rs já vem pronta :).

Opa...obrigado... A ultima pergunta, mesmo ate imaginando a resposta... Em alguns servidores precisamos fazer algo...acredito que seja o caso do websphere da ibm Vi isso no web.xml, seria para ativação?

    <servlet>
        <servlet-name>JAX-RS Servlet</servlet-name>
        <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        <enabled>false</enabled>
        <async-supported>false</async-supported>
    </servlet>
    <servlet-mapping>
        <servlet-name>JAX-RS Servlet</servlet-name>
        <url-pattern>/jaxrs/*</url-pattern>
    </servlet-mapping>

Seria para o mapeamento padrão sim :).

Muito Obrigado Alberto.