An open API service indexing awesome lists of open source software.

https://github.com/gdfreitasdev/library-api

Projeto de livraria em uma stack Java EE
https://github.com/gdfreitasdev/library-api

arquillian bean beanvalidation cdi ejb gson java javaee7 jaxrs jms jpa junit postgresql wildfly

Last synced: about 1 month ago
JSON representation

Projeto de livraria em uma stack Java EE

Awesome Lists containing this project

README

          

# Aplicação Java EE

Este repositório contém um projeto baseado em um agregado de tecnologias com o objetivo de estudar e praticar os recursos abordados;

O projeto consiste em uma api para gerênciamento de uma biblioteca, com cadastro de autores, livros, categorias de livros, e cadastro de usuários. Possui autenticação para cada recurso disponibilizado conforme os papéis de cada usuário, controle de expiração do tempo de aluguel de cada livro, auditoria de ações realizadas em alguns recursos, etc.

## Tecnologias abordadas

- Java EE
- JPA 2.1
- Bean Validation 1.1
- JMS 2.0
- EJB 3.2
- CDI 1.1
- JAX-RS 2.0
- Recursos do Java 8 (lambda expressions, Date&Time API, streams, etc)
- Gson, JUnit, Mockito and Hamcrest.
- Arquillian
- Wildfly como servidor de aplicação _(Utilizado para Desenvolvimento Wildfly-8.2.0.Final)_
- PostgreSQL
- HSQLDB/H2 para testes unitários e de integração

## Configurações

- Executar o servidor `$JBOSS_HOME/bin/standalone.bat -c=standalone-full.xml`

### Datasource

```xml


...

jdbc:postgresql://localhost/library
postgres
TRANSACTION_READ_COMMITTED

5
30
true
false
FailingConnectionOnly


postgres
postgres


32



...

```

### Drivers

- É necessário [baixar o driver do postgres](https://jdbc.postgresql.org/download.html) e adicioná-lo aos drivers do Wildfly.
1. Criar pasta `postgres` e `postgres.main` em `JBOSS_HOME/modules/system/layers/base/org`;
2. Adicionar o jar baixado na pasta main;
3. Criar arquivo `module.xml` conforme abaixo;

module.xml

```xml







```

standalone-full.xml

```xml


...

org.postgresql.Driver


...

```

### Filtro de autenticação

standalone-full.xml

```xml


...













...

```

### Logging
```xml

...






...






...

```

### JMS
```xml

...



...

```

## Referências

- [Curso: Build an application from scratch: JEE 7, Java 8 and Wildfly](https://www.udemy.com/build-an-application-from-scratch-jee-7-java-8-and-wildfly)

- [Exposição de Recursos da API @ Postman - Documenter](https://documenter.getpostman.com/view/1862571/RWTkQyRZ)