JavaEE showcase project.
This commit is contained in:
commit
561396dae4
29 changed files with 823 additions and 0 deletions
|
@ -0,0 +1,13 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import javax.ejb.Stateless;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Stateless
|
||||
public class FakeTodosDao implements TodosDao {
|
||||
@Override
|
||||
public List<String> findAll() {
|
||||
return Arrays.asList("Todo 1", "Todo 2", "Todo 3");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.ejb.Stateless;
|
||||
import javax.jms.ConnectionFactory;
|
||||
import javax.jms.JMSContext;
|
||||
import javax.jms.Queue;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
|
||||
@Stateless
|
||||
@Path("/hello")
|
||||
public class JmsSimpleMessageSendingBean implements SimpleMessageSendingBean {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(JmsSimpleMessageSendingBean.class);
|
||||
|
||||
@Resource(lookup = "java:/ConnectionFactory")
|
||||
private ConnectionFactory connectionFactory;
|
||||
|
||||
@Resource(lookup = "java:/jms/queue/MyQueue")
|
||||
private Queue queue;
|
||||
|
||||
@Override
|
||||
@Path("/say/{what}")
|
||||
public void sendHello(
|
||||
@PathParam("what") String what) {
|
||||
|
||||
try (JMSContext ctx = connectionFactory.createContext()) {
|
||||
logger.info("Sending hello {}", what);
|
||||
ctx.createProducer().send(queue, what);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import pl.tpolgrabia.trainings.javaee.javaeedemo.entities.User;
|
||||
|
||||
import javax.ejb.Stateless;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import java.util.List;
|
||||
|
||||
@Stateless
|
||||
public class JpaUserDao implements UserDao {
|
||||
@PersistenceContext(unitName = "my-persistence-unit")
|
||||
private EntityManager em;
|
||||
|
||||
@Override
|
||||
public List<User> findAll() {
|
||||
return em.createQuery("select u from User u", User.class).getResultList();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.ejb.ActivationConfigProperty;
|
||||
import javax.ejb.MessageDriven;
|
||||
import javax.jms.JMSException;
|
||||
import javax.jms.Message;
|
||||
import javax.jms.MessageListener;
|
||||
|
||||
@MessageDriven(activationConfig = {
|
||||
@ActivationConfigProperty(
|
||||
propertyName = "destinationLookup",
|
||||
propertyValue = "java:/jms/queue/MyQueue"),
|
||||
@ActivationConfigProperty(
|
||||
propertyName = "destinationType",
|
||||
propertyValue = "javax.jms.Queue"),
|
||||
})
|
||||
public class SimpleMessageReceivingBean implements MessageListener {
|
||||
|
||||
private Logger logger = LoggerFactory.getLogger(SimpleMessageReceivingBean.class);
|
||||
|
||||
@Override
|
||||
public void onMessage(Message message) {
|
||||
try {
|
||||
String data = message.getBody(String.class);
|
||||
logger.info("Got message {}", data);
|
||||
} catch (JMSException e) {
|
||||
throw new IllegalStateException("JMS exception", e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import javax.ejb.Local;
|
||||
|
||||
@Local
|
||||
public interface SimpleMessageSendingBean {
|
||||
void sendHello(String what);
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import javax.ejb.Local;
|
||||
import java.util.List;
|
||||
|
||||
@Local
|
||||
public interface TodosDao {
|
||||
List<String> findAll();
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.ejb;
|
||||
|
||||
import pl.tpolgrabia.trainings.javaee.javaeedemo.entities.User;
|
||||
|
||||
import javax.ejb.Local;
|
||||
import java.util.List;
|
||||
|
||||
@Local
|
||||
public interface UserDao {
|
||||
List<User> findAll();
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
package pl.tpolgrabia.trainings.javaee.javaeedemo.entities;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Entity
|
||||
@Table(name = "users")
|
||||
public class User implements Serializable {
|
||||
private static final long serialVersionUID = -4484248656820095286L;
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(name = "user_name")
|
||||
private String userName;
|
||||
|
||||
@Column(name = "first_name")
|
||||
private String firstName;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getFirstName() {
|
||||
return firstName;
|
||||
}
|
||||
|
||||
public void setFirstName(String firstName) {
|
||||
this.firstName = firstName;
|
||||
}
|
||||
}
|
13
javaee-demo1-ejb/src/main/resources/META-INF/persistence.xml
Normal file
13
javaee-demo1-ejb/src/main/resources/META-INF/persistence.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.2"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
|
||||
<!-- Define persistence unit -->
|
||||
<persistence-unit name="my-persistence-unit">
|
||||
<jta-data-source>java:/MyDataSource</jta-data-source>
|
||||
<class>pl.tpolgrabia.trainings.javaee.javaeedemo.entities.User</class>
|
||||
|
||||
<properties>
|
||||
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL95Dialect"/>
|
||||
</properties>
|
||||
</persistence-unit>
|
||||
</persistence>
|
Loading…
Add table
Add a link
Reference in a new issue