O JBoss EAP 7 Beta já está disponível liberadoParabéns à Red Hat e, particularmente, à equipe de WildFly equipe! Há muitos aprimoramentos nesta versão, conforme documentado em Notas de lançamento. Um dos principais temas é a conformidade com o Java EE 7.
JBoss EAP 7 e Java EE 7
A IBM e a Oracle já fornecem servidores de aplicativos compatíveis com Java EE 7 com suporte comercial. E agora a Red Hat também se juntará a essa festa em breve. Embora a WildFly tenha oferecido suporte ao Java EE 7 por mais de dois anos, o suporte comercial é fundamental para que o código aberto seja adotado em toda a empresa. Portanto, essa é uma boa notícia! Você pode saber tudo sobre os diferentes APIs do Java EE 7 no DZone Refcardz que eu criei junto com @alrubinger.
Há muitos "hello world" Amostras do Java EE 7 que devem ser executados com o JBoss EAP. Esperamos que alguém atualize o pom.xml
e adicionar um novo perfil.
Por que NoSQL?
Se você estiver criando um aplicativo corporativo tradicional, talvez não tenha problemas em usar um RDBMS. Há muitas vantagens em usar RDBMS, mas usar um banco de dados NoSQL tem algumas vantagens:
- Não há necessidade de ter um esquema predefinido, o que os torna um banco de dados sem esquema. A adição de novas propriedades a objetos existentes é fácil e não requer ALTER TABLE. As dados não estruturados oferece flexibilidade para alterar o formato dos dados a qualquer momento, sem tempo de inatividade ou níveis de serviço reduzidos. Além disso, não há junções acontecendo no servidor porque não há estrutura e, portanto, não há relação entre elas.
- Escalabilidade, agilidade e desempenho é mais importante do que todo o conjunto de funcionalidades normalmente fornecidas por um RDBMS. Esse conjunto de bancos de dados oferece consistência eventual e/ou transações restritas a itens únicos, mas com mais foco no CRUD.
- Os NoSQL são projetados para aumento de escala (horizontal) em vez de aumento de escala (vertical). Isso é importante sabendo que os bancos de dados, e todo o resto também, estão se movendo para a nuvem. O RBDMS pode ser ampliado usando sharding, mas requer um gerenciamento complexo e não é para os fracos de coração. As consultas que exigem JOINs entre shards são extremamente ineficiente.
- Os RDBMS têm incompatibilidade de impedância entre a estrutura do banco de dados e as classes de domínio. Nesse caso, é necessário um mapeamento objeto-relacional, como o fornecido pela Java Persistence API ou pelo Hibernate.
- Os bancos de dados NoSQL são projetados para ter menos gerenciamento e modelos de dados mais simples levam a menor custo administrativo também.
Então, agora você está entusiasmado com o NoSQL e quer saber mais:
- Por que NoSQL?
- Por que as empresas bem-sucedidas confiam no NoSQL?
- Os 10 principais casos de uso de NoSQL empresarial
Em resumo, há quatro tipos diferentes de bancos de dados NoSQL:
- Documento: Couchbase, Mongo e outros
- Chave/Valor: Couchbase, Redis e outros
- Gráfico: Neo4J, OrientDB e outros
- Coluna: Cassandra e outros
O Java EE 7 fornece a Java Persistence API, que não oferece nenhum suporte para NoSQL. Então, como você pode começar a usar o NoSQL com o JBoss EAP 7? Este blog mostrará como consultar um banco de dados Couchbase usando um aplicativo Java EE simples implantado no JBoss EAP 7 Beta.
O que é o Couchbase?
Couchbase é um banco de dados de documentos NoSQL de código aberto. Ele permite acessar, indexar e consultar documentos JSON, aproveitando o cache distribuído integrado para acesso a dados de alto desempenho. Os desenvolvedores podem escrever aplicativos para o Couchbase usando diferentes linguagens (Java, Go, .NET, Node, PHP, Python, C) vários SDKs. Este blog mostrará como você pode criar facilmente um aplicativo CRUD usando Java SDK para Couchbase.
Executar o JBoss EAP 7
Há duas maneiras de iniciar o JBoss EAP 7.
Baixar e executar
- Baixar JBoss EAP 7 Beta e descompactar.
- Inicie o servidor de aplicativos como:
1234567891011121314151617181920./jboss-eap-7.0/caixa/autônomo.sh=========================================================================JBoss Bootstrap Meio ambienteJBOSS_HOME: /Usuários/arungupta/ferramentas/jboss-eap-7.0JAVA: javaJAVA_OPTS: -servidor -detalhado:gc -Xloggc:"/Users/arungupta/tools/jboss-eap-7.0/standalone/log/gc.log" -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-Descarregamento de classe de rastreamento -Xms1303m -Xmx1303m -Djava.rede.preferirIPv4Stack=verdadeiro -Djboss.módulos.sistema.pkgs=org.jboss.byteman -Djava.awt.sem cabeça=verdadeiro=========================================================================21:22:58,773 INFORMAÇÕES [org.jboss.módulos] (principal) JBoss Módulos versão 1.4.4.Final-redhat-1. . .21:23:21,441 INFORMAÇÕES [org.jboss.como] (Controlador Bota Tópico) WFLYSRV0060: Http gerenciamento interface audição em http://127.0.0.1:9990/management21:23:21,442 INFORMAÇÕES [org.jboss.como] (Controlador Bota Tópico) WFLYSRV0051: Administrador console audição em http://127.0.0.1:999021:23:21,442 INFORMAÇÕES [org.jboss.como] (Controlador Bota Tópico) WFLYSRV0025: EAP 7.0.0.Beta1 (WildFly Núcleo 2.0.3.Final-redhat-1) iniciado em 22950ms - Iniciado 261 de 509 serviços (332 serviços são preguiçoso, passivo ou em-demanda)
Execução do Docker
Em um mundo em contêineres, basta execução do docker
para executar o JBoss EAP. No entanto, a imagem do JBoss EAP não existe no Docker Hub e, portanto, a imagem precisa ser criada explicitamente. Você ainda precisa fazer o download explícito do JBoss EAP e, em seguida, usar o seguinte Dockerfile para criar a imagem:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Use a imagem mais recente do jboss/base-jdk:8 como base DE jboss/base-jdk:8 # Defina a variável de ambiente JBOSS_VERSION ENV JBOSS_VERSÃO 7.0.0.Beta ENV JBOSS_HOME /optar/jboss/jboss-eap-7.0/ CÓPIA jboss-eap-$JBOSS_VERSION.zíper $INÍCIO # Adicione a distribuição do JBoss a /opt e torne o jboss o proprietário do conteúdo do zip extraído # Certifique-se de que a distribuição esteja disponível em um local conhecido CORRER cd $INÍCIO && descompactar jboss-eap-$JBOSS_VERSION.zíper && rm jboss-eap-$JBOSS_VERSION.zíper # Assegure-se de que os sinais sejam encaminhados corretamente para o processo JVM para o desligamento normal ENV LAUNCH_JBOSS_IN_BACKGROUND verdadeiro # Exponha as portas nas quais estamos interessados EXPOSIÇÃO 8080 9990 # Defina o comando padrão a ser executado na inicialização # Isso inicializará o JBoss EAP no modo autônomo e se associará a todas as interfaces CMD ["/opt/jboss/jboss-eap-7.0/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"] |
A imagem é construída como:
1 |
doca construir -t arungupta/jboss-eap:7-beta . |
E então você pode executar o contêiner do JBoss EAP 7 como:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
doca executar -ele -p 8080:8080 arungupta/jboss-eap:7-beta ========================================================================= JBoss Bootstrap Meio ambiente JBOSS_HOME: /optar/jboss/jboss-eap-7.0/ JAVA: /usr/lib/jvm/java/caixa/java JAVA_OPTS: -servidor -detalhado:gc -Xloggc:"/opt/jboss/jboss-eap-7.0//standalone/log/gc.log" -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-Descarregamento de classe de rastreamento -Xms1303m -Xmx1303m -Djava.rede.preferirIPv4Stack=verdadeiro -Djboss.módulos.sistema.pkgs=org.jboss.byteman -Djava.awt.sem cabeça=verdadeiro ========================================================================= 20:51:12,551 INFORMAÇÕES [org.jboss.módulos] (principal) JBoss Módulos versão 1.4.4.Final-redhat-1 20:51:12,824 INFORMAÇÕES [org.jboss.msc] (principal) JBoss MSC versão 1.2.6.Final-redhat-1 . . . 20:51:16,750 INFORMAÇÕES [org.jboss.como] (Controlador Bota Tópico) WFLYSRV0060: Http gerenciamento interface audição em http://0.0.0.0:9990/management 20:51:16,758 INFORMAÇÕES [org.jboss.como] (Controlador Bota Tópico) WFLYSRV0051: Administrador console audição em http://0.0.0.0:9990 20:51:16,759 INFORMAÇÕES [org.jboss.como] (Controlador Bota Tópico) WFLYSRV0025: EAP 7.0.0.Beta1 (WildFly Núcleo 2.0.3.Final-redhat-1) iniciado em 4529ms - Iniciado 261 de 509 serviços (332 serviços são preguiçoso, passivo ou em-demanda) |
Observe como as portas de aplicativo e gerenciamento estão vinculadas a todas as interfaces de rede. Isso simplificará a implementação do aplicativo nessa instância do JBoss EAP mais tarde. Pare o servidor, pois mostraremos uma maneira mais fácil de iniciá-lo mais tarde.
Iniciar o servidor de aplicativos e o banco de dados
O aplicativo Java EE fornecerá uma interface HTTP CRUD sobre documentos JSON armazenados no Couchbase. O aplicativo em si será implantado no JBoss EAP 7 Beta. Portanto, será necessário iniciar o Couchbase e o JBoss EAP. Use o arquivo Docker Compose de github.com/arun-gupta/docker-images/blob/master/jboss-eap7-nosql/docker-compose.yml para iniciar o contêiner do Couchbase e do JBoss EAP 7:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
mycouchbase: nome_do_contêiner: "db" imagem: couchbase/servidor portos: - 8091:8091 - 8092:8092 - 8093:8093 - 11210:11210 jboss: imagem: arungupta/jboss-eap:7-beta ambiente: - COUCHBASE_URI=db portos: - 8080:8080 - 9990:9990 |
O aplicativo é iniciado como:
1 2 3 4 |
doca-compor --x-rede para cima -d Criação de rede "jbosseap7nosql" com motorista "Nenhum" Início jbosseap7nosql_jboss_1 Criação de db |
Os contêineres iniciados podem ser vistos como:
1 2 3 4 |
doca ps CONTAINER ID IMAGEM COMANDO CRIADO STATUS PORTOS NOMES 154436dfbfb1 couchbase/servidor "/entrypoint.sh couch" 10 segundos atrás Para cima 8 segundos 0.0.0.0:8091-8093->8091-8093/tcp, 11207/tcp, 11211/tcp, 18091-18092/tcp, 0.0.0.0:11210->11210/tcp db cb76d4e38df3 arungupta/jboss-eap:7-beta "/opt/jboss/jboss-eap" 10 segundos atrás Para cima 9 segundos 0.0.0.0:8080->8080/tcp, 0.0.0.0:9990->9990/tcp jbosseap7nosql_jboss_1 |
Configurar o servidor Couchbase
Clone couchbase-javaee aplicativo. Esse aplicativo Java EE usa APIs do SDK Java do Couchbase para se conectar ao servidor Couchbase. O código de bootstrap é:
1 |
CouchbaseCluster.criar(Sistema.getenv("COUCHBASE_URI")); |
e é invocado a partir de Abstração de banco de dados. O Couchbase Server pode ser configurado usando API REST. Essas APIs REST são definidas em um perfil Maven em pom.xml
desse aplicativo. Portanto, configure o servidor Couchbase como:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
mvn instalar -Pcouchbase -Ddocker.hospedeiro=$(doca-máquina ip couchbase) [INFORMAÇÕES] Digitalização para projetos... [INFORMAÇÕES] [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] Edifício couchbase-javaee 1.0-FOTOGRAFIA [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-recursos-plug-in:2.6:recursos (padrão-recursos) @ couchbase-javaee --- [INFORMAÇÕES] Usando 'UTF-8' codificação para cópia filtrada recursos. [INFORMAÇÕES] Cópia 0 recurso [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-compilador-plug-in:2.3.2:compilar (padrão-compilar) @ couchbase-javaee --- [INFORMAÇÕES] Nada para compilar - todos aulas são para cima para data [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-recursos-plug-in:2.6:testResources (padrão-testResources) @ couchbase-javaee --- [INFORMAÇÕES] Usando 'UTF-8' codificação para cópia filtrada recursos. [INFORMAÇÕES] pular não existente resourceDirectory /Usuários/arungupta/espaços de trabalho/couchbase-javaee/src/teste/recursos [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-compilador-plug-in:2.3.2:testCompile (padrão-testCompile) @ couchbase-javaee --- [INFORMAÇÕES] Nada para compilar - todos aulas são para cima para data [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-fogo seguro-plug-in:2.12.4:teste (padrão-teste) @ couchbase-javaee --- [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-guerra-plug-in:2.1.1:guerra (padrão-guerra) @ couchbase-javaee --- [INFORMAÇÕES] Embalagem aplicativo da web [INFORMAÇÕES] Montagem aplicativo da web [couchbase-javaee] em [/Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee] [INFORMAÇÕES] Processamento guerra projeto [INFORMAÇÕES] Cópia aplicativo da web recursos [/Usuários/arungupta/espaços de trabalho/couchbase-javaee/src/principal/aplicativo da web] [INFORMAÇÕES] Aplicativo da Web montado em [82 msecs] [INFORMAÇÕES] Edifício guerra: /Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee.guerra [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-instalar-plug-in:2.4:instalar (padrão-instalar) @ couchbase-javaee --- [INFORMAÇÕES] Instalação /Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee.guerra para /Usuários/arungupta/.m2/repositório/org/couchbase/amostra/couchbase-javaee/1.0-FOTOGRAFIA/couchbase-javaee-1.0-FOTOGRAFIA.guerra [INFORMAÇÕES] Instalação /Usuários/arungupta/espaços de trabalho/couchbase-javaee/pom.xml para /Usuários/arungupta/.m2/repositório/org/couchbase/amostra/couchbase-javaee/1.0-FOTOGRAFIA/couchbase-javaee-1.0-FOTOGRAFIA.pom [INFORMAÇÕES] [INFORMAÇÕES] --- executar-mentor-plug-in:1.4.0:executar (Configurar memória) @ couchbase-javaee --- * Nome do host foi NÃO encontrado em DNS cache * Tentando 192.168.99.102... % Total % Recebido % Xferd Média Velocidade Tempo Tempo Tempo Atual Dload Carregar Total Gastos Esquerda Velocidade 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Conectado para 192.168.99.102 (192.168.99.102) porto 8091 (#0) > POST /piscinas/padrão HTTP/1.1 > Usuário-Agente: enrolar/7.37.1 > Anfitrião: 192.168.99.102:8091 > Aceitar: */* > Content-Length: 36 > Content-Type: application/x-www-form-urlencoded > } [dados não mostrados] * upload completamente enviado: 36 de 36 bytes < HTTP/1.1 200 OK * O servidor Couchbase Server não está na lista negra < Servidor: Servidor Couchbase < Pragma: no-cache < Date: Mon, 21 Dec 2015 21:35:10 GMT < Content-Length: 0 < Cache-Control: no-cache POST /node/controller/setupServices HTTP/1.1 > Agente do usuário: curl/7.37.1 > Host: 192.168.99.102:8091 > Aceitar: */* > Conteúdo-Comprimento: 26 > Conteúdo-Tipo: aplicativo/x-www-formulário-codificado por url > } [dados não mostrado] * carregar completamente enviado desligado: 26 fora de 26 bytes < HTTP/1.1 200 OK * Servidor Couchbase Servidor é não na lista negra < Servidor: Couchbase Servidor < Pragma: não-cache < Data: Mês, 21 Dez 2015 21:35:10 GMT < Conteúdo-Comprimento: 0 < Cache-Controle: não-cache < 100 26 0 0 100 26 0 9976 --:--:-- --:--:-- --:--:-- 13000 * Conexão #0 para o host 192.168.99.102 intacto [INFO] [INFO] --- exec-maven-plugin:1.4.0:exec (Setup credentials) @ couchbase-javaee --- * O nome do host NÃO foi encontrado no cache do DNS * Tentando 192.168.99.102... % Total % Recebido % Transferido Velocidade média Tempo Tempo Tempo Tempo Tempo Tempo de carregamento atual Upload Total gasto Velocidade esquerda 0 0 0 0 0 0 0 0 0 --:--:-- --:--:--:--:--:-- 0* Conectado a 192.168.99.102 (192.168.99.102) porta 8091 (#0) > POST /settings/web HTTP/1.1 > Usuário-Agente: enrolar/7.37.1 > Anfitrião: 192.168.99.102:8091 > Aceitar: */* > Content-Length: 50 > Content-Type: application/x-www-form-urlencoded > } [dados não mostrados] * upload completamente enviado: 50 de 50 bytes < HTTP/1.1 200 OK * O servidor Couchbase Server não está na lista negra < Servidor: Servidor Couchbase < Pragma: no-cache < Date: Mon, 21 Dec 2015 21:35:10 GMT < Content-Type: application/json < Content-Length: 44 < Cache-Control: no-cache POST /sampleBuckets/install HTTP/1.1 > Autorização: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA== > Agente do usuário: curl/7.37.1 > Host: 192.168.99.102:8091 > Aceitar: */* > Conteúdo-Comprimento: 17 > Conteúdo-Tipo: aplicativo/x-www-formulário-codificado por url > } [dados não mostrado] * carregar completamente enviado desligado: 17 fora de 17 bytes < HTTP/1.1 202 Aceito * Servidor Couchbase Servidor é não na lista negra < Servidor: Couchbase Servidor < Pragma: não-cache < Data: Mês, 21 Dez 2015 21:35:11 GMT < Conteúdo-Tipo: aplicativo/json < Conteúdo-Comprimento: 2 < Cache-Controle: não-cache < { [dados não mostrado] 100 19 100 2 100 17 41 355 --:--:-- --:--:-- --:--:-- 361 * Conexão #0 para o host 192.168.99.102 permaneceu intacto [][INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] CONSTRUIR SUCESSO [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] Total tempo: 2.094 s [INFORMAÇÕES] Finalizado em: 2015-12-21T13:35:11-08:00 [INFORMAÇÕES] Final Memória: 13M/309M [INFORMAÇÕES] ------------------------------------------------------------------------ |
Implantar o aplicativo Java EE no JBoss
O aplicativo Java EE pode ser facilmente implantado no JBoss EAP 7 Beta usando o Plug-in WildFly Maven. Isso também é definido como um perfil Maven em pom.xml
também. Implemente o aplicativo como:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
mvn instalar -Pwildfly -Dwildfly.nome do host=$(doca-máquina ip couchbase) -Dwildfly.nome de usuário=administrador -Dwildfly.senha=Administrador#007 [INFORMAÇÕES] Digitalização para projetos... [INFORMAÇÕES] [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] Edifício couchbase-javaee 1.0-FOTOGRAFIA [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-recursos-plug-in:2.6:recursos (padrão-recursos) @ couchbase-javaee --- [INFORMAÇÕES] Usando 'UTF-8' codificação para cópia filtrada recursos. [INFORMAÇÕES] Cópia 0 recurso [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-compilador-plug-in:2.3.2:compilar (padrão-compilar) @ couchbase-javaee --- [INFORMAÇÕES] Nada para compilar - todos aulas são para cima para data [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-recursos-plug-in:2.6:testResources (padrão-testResources) @ couchbase-javaee --- [INFORMAÇÕES] Usando 'UTF-8' codificação para cópia filtrada recursos. [INFORMAÇÕES] pular não existente resourceDirectory /Usuários/arungupta/espaços de trabalho/couchbase-javaee/src/teste/recursos [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-compilador-plug-in:2.3.2:testCompile (padrão-testCompile) @ couchbase-javaee --- [INFORMAÇÕES] Nada para compilar - todos aulas são para cima para data [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-fogo seguro-plug-in:2.12.4:teste (padrão-teste) @ couchbase-javaee --- [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-guerra-plug-in:2.1.1:guerra (padrão-guerra) @ couchbase-javaee --- [INFORMAÇÕES] Embalagem aplicativo da web [INFORMAÇÕES] Montagem aplicativo da web [couchbase-javaee] em [/Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee] [INFORMAÇÕES] Processamento guerra projeto [INFORMAÇÕES] Cópia aplicativo da web recursos [/Usuários/arungupta/espaços de trabalho/couchbase-javaee/src/principal/aplicativo da web] [INFORMAÇÕES] Aplicativo da Web montado em [62 msecs] [INFORMAÇÕES] Edifício guerra: /Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee.guerra [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-instalar-plug-in:2.4:instalar (padrão-instalar) @ couchbase-javaee --- [INFORMAÇÕES] Instalação /Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee.guerra para /Usuários/arungupta/.m2/repositório/org/couchbase/amostra/couchbase-javaee/1.0-FOTOGRAFIA/couchbase-javaee-1.0-FOTOGRAFIA.guerra [INFORMAÇÕES] Instalação /Usuários/arungupta/espaços de trabalho/couchbase-javaee/pom.xml para /Usuários/arungupta/.m2/repositório/org/couchbase/amostra/couchbase-javaee/1.0-FOTOGRAFIA/couchbase-javaee-1.0-FOTOGRAFIA.pom [INFORMAÇÕES] [INFORMAÇÕES] >>> mosca selvagem-mentor-plug-in:1.1.0.Alpha4:implantação (padrão) > pacote @ couchbase-javaee >>> [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-recursos-plug-in:2.6:recursos (padrão-recursos) @ couchbase-javaee --- [INFORMAÇÕES] Usando 'UTF-8' codificação para cópia filtrada recursos. [INFORMAÇÕES] Cópia 0 recurso [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-compilador-plug-in:2.3.2:compilar (padrão-compilar) @ couchbase-javaee --- [INFORMAÇÕES] Nada para compilar - todos aulas são para cima para data [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-recursos-plug-in:2.6:testResources (padrão-testResources) @ couchbase-javaee --- [INFORMAÇÕES] Usando 'UTF-8' codificação para cópia filtrada recursos. [INFORMAÇÕES] pular não existente resourceDirectory /Usuários/arungupta/espaços de trabalho/couchbase-javaee/src/teste/recursos [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-compilador-plug-in:2.3.2:testCompile (padrão-testCompile) @ couchbase-javaee --- [INFORMAÇÕES] Nada para compilar - todos aulas são para cima para data [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-fogo seguro-plug-in:2.12.4:teste (padrão-teste) @ couchbase-javaee --- [INFORMAÇÕES] Pular execução de fogo seguro porque ele tem já foram executar para este configuração [INFORMAÇÕES] [INFORMAÇÕES] --- mentor-guerra-plug-in:2.1.1:guerra (padrão-guerra) @ couchbase-javaee --- [INFORMAÇÕES] Embalagem aplicativo da web [INFORMAÇÕES] Montagem aplicativo da web [couchbase-javaee] em [/Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee] [INFORMAÇÕES] Processamento guerra projeto [INFORMAÇÕES] Cópia aplicativo da web recursos [/Usuários/arungupta/espaços de trabalho/couchbase-javaee/src/principal/aplicativo da web] [INFORMAÇÕES] Aplicativo da Web montado em [20 msecs] [INFORMAÇÕES] Edifício guerra: /Usuários/arungupta/espaços de trabalho/couchbase-javaee/alvo/couchbase-javaee.guerra [INFORMAÇÕES] [INFORMAÇÕES] <<< mosca selvagem-mentor-plug-in:1.1.0.Alpha4:implantação (padrão) < pacote @ couchbase-javaee <<< [INFORMAÇÕES] [INFORMAÇÕES] --- mosca selvagem-mentor-plug-in:1.1.0.Alpha4:implantação (padrão) @ couchbase-javaee --- Dez 21, 2015 1:43:34 PM org.xnio.Xenônio INFORMAÇÕES: XNIO versão 3.3.1.Final Dez 21, 2015 1:43:34 PM org.xnio.nio.NioXnio INFORMAÇÕES: XNIO NIO Implementação Versão 3.3.1.Final Dez 21, 2015 1:43:34 PM org.jboss.remoting3.EndpointImpl INFORMAÇÕES: JBoss Remoção versão 4.0.9.Final [INFORMAÇÕES] Autenticação contra segurança reino: ManagementRealm [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] CONSTRUIR SUCESSO [INFORMAÇÕES] ------------------------------------------------------------------------ [INFORMAÇÕES] Total tempo: 17.010 s [INFORMAÇÕES] Finalizado em: 2015-12-21T13:43:48-08:00 [INFORMAÇÕES] Final Memória: 17M/217M [INFORMAÇÕES] ------------------------------------------------------------------------ |
Acesse o aplicativo
Conforme mencionado anteriormente, o aplicativo fornece a API HTTP CRUD sobre documentos JSON armazenados no Couchbase. Acesse o aplicativo como:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
enrolar -v http://$(docker-machine ip couchbase):8080/couchbase-javaee/resources/airline * Nome do host foi NÃO encontrado em DNS cache * Tentando 192.168.99.102... * Conectado para 192.168.99.102 (192.168.99.102) porto 8080 (#0) > OBTER /couchbase-javaee/recursos/companhia aérea HTTP/1.1 > Usuário-Agente: enrolar/7.37.1 > Anfitrião: 192.168.99.102:8080 > Aceitar: */* > < HTTP/1.1 200 OK < Conexão: manter-vivo < X-Alimentado-Por: Undertow/1 * Servidor JBoss-EAP/7 é não na lista negra < Servidor: JBoss-EAP/7 < Conteúdo-Tipo: aplicativo/octeto-fluxo < Conteúdo-Comprimento: 1402 < Data: Mês, 21 Dez 2015 21:45:40 GMT < * Conexão #0 para o host 192.168.99.102 permaneceu intacto [{"amostra de viagem":{"país":"Estados Unidos","iata":"Q5","indicativo":"MILE-AIR","name" (nome):"40 milhas aéreas","icao":"MLA","id":10,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Estados Unidos","iata":"TQ","indicativo":"TXW","name" (nome):"Texas Wings" (Asas do Texas),"icao":"TXW","id":10123,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Estados Unidos","iata":"A1","indicativo":"atifly","name" (nome):"Atifly","icao":"A1F","id":10226,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Reino Unido","iata":nulo,"indicativo":nulo,"name" (nome):"Jc royal.britannica","icao":"JRB","id":10642,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Estados Unidos","iata":"ZQ","indicativo":"LOCAIR","name" (nome):"Locair","icao":"LOC","id":10748,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Estados Unidos","iata":"K5","indicativo":"SASQUATCH","name" (nome):"SeaPort Airlines","icao":"SQH","id":10765,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Estados Unidos","iata":"KO","indicativo":"ACE AIR","name" (nome):"Alaska Central Express","icao":"AER","id":109,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"Reino Unido","iata":"5W","indicativo":"FLYSTAR","name" (nome):"Astraeus","icao":"AEU","id":112,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"França","iata":"UU","indicativo":"REUNIÃO","name" (nome):"Air Austral","icao":"REU","id":1191,"tipo":"companhia aérea"}}, {"amostra de viagem":{"país":"França","iata":"A5","indicativo":"AIRLINAIR","name" (nome):"Airlinair","icao":"RLA","id":1203,"tipo":"companhia aérea"}}] |
As operações CRUD (GET, POST, PUT, DELETE) podem ser executadas no recurso Airline no aplicativo. A API CRUD completa está documentada em github.com/arun-gupta/couchbase-javaee. Este blog explicou como acessar um banco de dados NoSQL a partir do JBoss EAP 7. Leia mais sobre o Couchbase 4:
- O que há de novo no Couchbase Server 4.1
- Documentação do Couchbase Server
- Entre em contato conosco pelo Fóruns do Couchbase
- Seguir @couchbasedev ou @couchbase
Saiba mais sobre o Couchbase neste recente webinar voltado para desenvolvedores: