powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / настройка кеширования eclipselink
8 сообщений из 8, страница 1 из 1
настройка кеширования eclipselink
    #39720806
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Подскажите как можно корректно настроить кеширование eclipselink? Прежде не сталкивался с кешированием eclipselink...
Я не могу понять, работает он или нет..
может мне необходимо что-то добавить в настройки или же наоборот убрать??

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<properties>
            <property name="javax.persistence.nonJtaDataSource" value="java:/comp/env/jdbc/myD"/>
            <property name="eclipselink.weaving" value="false"/>
            <property name="eclipselink.logging.level" value="INFO"/>
            <property name="eclipselink.logging.level.sql" value="FINE"/>
            <property name="eclipselink.logging.parameters" value="true"/>
            <property name="eclipselink.query-results-cache" value="false"/>

            <property name="eclipselink.cache.shared.MyEntity" value="true"/>
            <property name="eclipselink.cache.type.MyEntity" value="SOFT"/>
            <property name="eclipselink.cache.size.MyEntity" value="64000"/>

            <!--<property name="eclipselink.batch" value="true"/>-->
            <property name="eclipselink.jdbc.batch-writing" value="JDBC"/> <property name="eclipselink.jdbc.batch-writing.size" value="15"/>
        </properties>
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39720825
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad2018,
Была тут инфа что по умолчанию кеш включен.
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39720830
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123vlad2018,
Была тут инфа что по умолчанию кеш включен.
Да, но включен по умолчанию кеш первого уровня
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39720835
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad2018,
Это в хибере. Чел тут недавно говорил про второй.
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39720896
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad2018Да, но включен по умолчанию кеш первого уровня
By default EclipseLink enables a shared object cache

vlad2018Я не могу понять, работает он или нет..
- дерните через JPA кэшируемую сущность, измените руками что то связанное с ней через БД, еще раз дерните через JPA (в другом инстансе EntityManager-а) - должны увидеть не измененные данные
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39725811
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kachalovvlad2018Да, но включен по умолчанию кеш первого уровня
By default EclipseLink enables a shared object cache

vlad2018Я не могу понять, работает он или нет..
- дерните через JPA кэшируемую сущность, измените руками что то связанное с ней через БД, еще раз дерните через JPA (в другом инстансе EntityManager-а) - должны увидеть не измененные данные

Ниже привожу пример реализации, но все еще не могу понять работает кэш или нет.. может я что-то не так делаю??
Код: java
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.
@Entity
@Table(name="Cars")
@Cache (
        type=CacheType.SOFT,
        expiry=600000,
        size=64000
)
public class Car implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long Id;
    private String name;
    private int price;

    public Long getId() {
        return Id;
    }

    public void setId(Long Id) {
        this.Id = Id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }
}



Код: java
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.
public class DBClient {
    public static void main(String[] args) {

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("cars_cache");
        EntityManager eman = emf.createEntityManager();

        try {

            String sql = "SELECT c FROM Car c";

            Query query = eman.createQuery(sql);
            List<Car> cars = query.getResultList();

            for (Car car : cars) {
                System.out.printf("%d ", car.getId());
                System.out.printf("%s ", car.getName());
                System.out.println(car.getPrice());
            }

        } finally {

            eman.close();
            emf.close();
        }
    }
}



Код: 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.
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" 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">
    <persistence-unit name="cars_cache" transaction-type ="RESOURCE_LOCAL">

        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <class>eclipse.Car</class>
        <exclude-unlisted-classes>true</exclude-unlisted-classes>
        <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:oradev"/>
            <property name="javax.persistence.jdbc.user" value="system"/>
            <property name="javax.persistence.jdbc.password" value="oracle"/>

            <property name="eclipselink.logging.level" value="INFO"/>
            <property name="eclipselink.logging.level.sql" value="FINE"/>
            <property name="eclipselink.logging.parameters" value="true"/>
            <property name="eclipselink.query-results-cache" value="false"/>

        </properties>
    </persistence-unit>


</persistence>
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39726650
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad2018[Ниже привожу пример реализации, но все еще не могу понять работает кэш или нет.. может я что-то не так делаю??

- этот пример ничего не проверяет (точнее в нем задействован только кэш первого уровня). Вам необходимо несколько инстансов EntityManager-а в приложении и изменение данных не через EntityManager. Ничего этого здесь нет.
...
Рейтинг: 0 / 0
настройка кеширования eclipselink
    #39727348
vlad2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kachalovvlad2018[Ниже привожу пример реализации, но все еще не могу понять работает кэш или нет.. может я что-то не так делаю??

- этот пример ничего не проверяет (точнее в нем задействован только кэш первого уровня). Вам необходимо несколько инстансов EntityManager-а в приложении и изменение данных не через EntityManager. Ничего этого здесь нет.

Так как мне правильно его настроить??
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / настройка кеширования eclipselink
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]