Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
6 / 6 / 3
Регистрация: 12.03.2014
Сообщений: 341
1

Не удается произвести Inject сервиса (Rest, Hibernate, Embedded Derby)

13.08.2016, 07:30. Показов 561. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При попытке обратиться к методу по пути /all получаю ошибку.
Не удается произвести Inject сервиса (Rest, Hibernate, Embedded Derby)

В Glassfish создал Conection Pool и JDBC Resource. В приложении настроил persistense.xml. Создал класс для тестирования и прописал PersistenceContext. EntityManager удалось получить. Не являлся Null. Все хорошо. Дальше я попытался создать контроллер и сервис. В данном случае получаю ошибку, а причину понять не могу.

Кликните здесь для просмотра всего текста


MyController

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
 
@Path("/controller")
public class MyController {
 
    @Inject
    private MyService service;
 
    @Path("/all")
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getAll(){
        String res = "Результат:" + service.getAll().size();
        return res;
    }
 
}
MyService

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import java.util.List;
 
@Stateless
public class MyService {
 
    @PersistenceContext(unitName = "test")
    private EntityManager em;
 
    public List<Test> getAll(){
        TypedQuery<Test> query = em.createQuery("select u form Test u", Test.class);
        return query.getResultList();
    }
 
}
Test

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import javax.persistence.*;
 
@Entity
@Table(name = "Test")
public class Test {
 
    @Id
    private int id;
    public int getId(){
        return this.id;
    }
    public void setId(int id){
        this.id = id;
    }
 
}
Persistense.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
    <persistence-unit name="test" transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>jdbc/myresource</jta-data-source>
        <class>Test</class>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
        </properties>
    </persistence-unit>
</persistence>
pom.xml

XML
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
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>testhibernate</groupId>
    <artifactId>testhibernate</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
 
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.10.Final</version>
        </dependency>
        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <version>10.12.1.1</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
        </dependency>
        <!--
           an slf4j implementation is needed by
           hibernate so that it could log its *stuff*
        -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.6.4</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
 
    <build>
        <finalName>myServlet</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <failOnMissingWebXml>true</failOnMissingWebXml>
                </configuration>
            </plugin>
 
            <plugin>
                <groupId>org.glassfish</groupId>
                <artifactId>maven-embedded-glassfish-plugin</artifactId>
                <version>3.1</version>
            </plugin>
 
        </plugins>
    </build>
 
</project>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2016, 07:30
Ответы с готовыми решениями:

Работа с генерируемыми значениями, Hibernate + Derby DB
Добрый день. Изучаю Hibernate на примере взаимодействия с СУБД Derby. Возникла проблема с...

Пример REST сервиса
Здравствуйте, ищу пример REST API использующий Web API. Есть база данных с координатами точек...

Простая авторизация для REST сервиса
Занимаюсь созданием rest сервиса (использую: Java, Maven, TomCat, MySql, Hibernate). Появилась...

Получение данных с веб-сервиса (REST)
Здравствуйте. Есть веб-сервис (REST): http://analisys.ezmp.su/ Необходимо на него отправлять...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.08.2016, 13:59 2
private MyService service
Вот этот объект где создается?
1
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
15.08.2016, 13:10 3
Попробуйте @Inject заменить на @EJB
0
15.08.2016, 13:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2016, 13:10
Помогаю со студенческими работами здесь

C#, Разработка REST-сервиса с реализацией Get-метода random
Начинающий программист(совсем начинающий). Имеется задание : Разработать REST-сервис,...

JavaFx+Hibernate+Spring "don't inject bean Caused by: java.lang.NullPointerException"
Здравствуйте. Очень нужна Ваша помощь. Сделал конфигурацию. Если запускать с главного класса(начала...

Spring REST, Hibernate. Сложности десериализации JSON при one-to-many
Всем добрый день. Возникла проблема, подходящее решение которой никак не нагуглю. Делаю REST API...

Ошибка при подключении Hibernate No embedded stylesheet instruction
Всем привет. Делаю &quot;Hello world&quot; с использованием Hibernate в Eclipse , но он у меня не конектится....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru