Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
2020-11-03 | 139 |
5.00
из
|
Заказать работу |
|
|
Reciver синхронный
Properties p = new Properties();
***
Context ctx = new InitialContext(p);
QueueConnectionFactory qcf
=(QueueConnectionFactory) ctx. lookup("java:comp/DefaultJMSConnectionFactory");
QueueConnection con = qcf. createQueueConnection();
QueueSession session = con. createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
Queue queue = null;
queue = (Queue) ctx. lookup("MyQueue");
QueueReceiver receiver = session. createReceiver(queue);
con. start();
for(;;){
TextMessage textMessage = (TextMessage) receiver. receive();
System.out.println("Got a message:"+ textMessage. getText());
}
Асинхронная обработка сообщений JMS.
Reciver асинхронный
public class AsyncR implements MessageListener {
public AsyncR(){ }
public void onMessage (Message message){
TextMessage textMessage = (TextMessage) message;
System.out.println("Got a message: "+textMessage.getText());
}
public static void main(String[] args) {
***
Context ctx = new InitialContext(p);
QueueConnectionFactory qcf = (QueueConnectionFactory)ctx.lookup("java:comp/DefaultJMSConnectionFactory");
QueueConnection con = qcf. createQueueConnection();
QueueSession session = con. createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
Queue que ue = (Queue) ctx. lookup("MyQueue");
QueueReceiver receiver = session. createReceiver(queue);
con. start();
AsyncR async = new AsyncR();
receiver.setMessageListener(async);
Thread.sleep(100000000); }
Передача экземпляра класса в сообщении.
Передача объекта
Card c = new Card ("Piter",new Date(),"1",0.0);
message.setObject (c);
producer.send (message);
public class Card implements Serializable
public class ObjectListener implements MessageListener {
public ObjectListener (BillingService bs)
{ this.bs = bs; }
public void onMessage (Message message) {
ObjectMessage msg = null;
if (message instanceof ObjectMessage) {
msg = (ObjectMessage) message;
Object o = msg.getObject ();
System.out.println("Reading message: " + o);
if (o instanceof Card) Card c = (Card)o;
Программирование событий в.NET.
ORM: основные принципы. XML mapping
ORM (o bject- r elational m apping) объектно-реляционное отображение технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования. ORM — прослойка между базой данных и кодом, которая создаёт «виртуальную объектную базу данных».
Необходимо обеспечить работу с данными в терминах классов, а не таблиц данных и преобразовать термины и данные классов в данные, пригодные для хранения в СУБД. Необходимо также обеспечить интерфейс для CRUD-операций над данными. В общем, необходимо избавиться от необходимости писать SQL-код для взаимодействия в СУБДет созданые в программе объекты складывать/получать в/из бд.
|
Декларативный способ реализации ORM или ORM метаданных позволяет соотнести объекты с одной или несколькими таблицами из базы данных. Для хранения метаданных используются метаданные или дополнительные настроечные файлы (например в формате XML).
Классы сущностей. Annotation mapping.
Сущность (Entity) — простой объект Plain Ordinary Java Object (POJO), который представляет в приложении запись из таблицы реляционной базы данных.
Persistence context — множество управляемых сущностей.
В persistence context сущности и их жизненный цикл управляются специальным классом javax.persistence.EntityManager.
Для создания экземпляра класса EntityManager, управляемого приложением, используется метод createEntityManager() интерфейса javax.persistence.EntityManagerFactory.
Он также может быть получен из persistence context текущей транзакции в многокомпонентном приложении.
Контекст, состояние сущностей
Состояние Entity
transient - экземпляр entity только создан, но не связан с контекстом. Entity не имеет постоянное представительство в базе данных и, как правило не имеет идентификатора.
managed или persistent - entity имеет соответствующий идентификатор и связан с контекстом. Entity может или не может физически существовать в базе данных.
detached – entity имеет связанный идентификатор, но больше не связана с контекстом (обычно, так как контекст был закрыт или экземпляр entity был удалён из контекста)
removed - entity имеет связанный идентификатор и связана с контекстом, однако запланировано её удаление из базы данных.
Классы entityManagerа и сессии имеют методы для изменения и контроля состояния entity.
Класс EntityManager
EntityManager
интерфейс, который описывает API для всех основных операций над Enitity.
|
Основные операции:
1) Для операций над Entity: persist (добавление Entity под управление JPA), merge (обновление), remove (удаления), refresh (обновление данных), detach (удаление из управления JPA), lock (блокирование Enity от изменений в других потоках).
2) Получение данных: find (поиск и получение Entity), createQuery, createNamedQuery, createNativeQuery, createStoredProcedureQuery.
3) Получение других сущностей JPA: getTransaction, getEntityManagerFactory, getCriteriaBuilder, getMetamodel.
4) Общие операции над EntityManager или всеми Entities: close, isOpen, getProperties, setProperty, clear
@PersistenceContext — аннотация используется для указания EntityManager, который необходимо ввести как зависимость.
Основы Hibernate, HQL.
Hibernate
Структура Hibernate
Hibernate Query Language (HQL) объектно-ориентированный язык запросов, схожий с SQL.
Для загрузки объектов из базы данных используется команда FROM.
FROM Uchebnyieplanyi u WHERE u.spetsialnosti.kodSpets = 2
SELECT используется для получения нескольких свойств объектов в результирующем наборе, а не всего объекта.
SELECT author.id FROM Author author
Основные классы Hibernate
Основные классы
Configuration позволяет приложению определять свойства, которые будут использоваться при создании SessionFactory.
SessionFactory Потокобезопасный (функционирует корректно при использовании его из нескольких потоков одновременно), неизменный (не сохраняет какую-либо обратную связь к конфигурацией) кэш откомпилированных мэппингов для одной базы данных. Фабрика для создания объектов класса Session. SessionFactory является клиентом для ConnectionProvider.
Session Однопоточный, короткоживущий объект, являющийся посредником между приложением и хранилищем долгоживущих объектов. Фабрика для объектов класса Transaction и Query. Используется для навигации по объектному графу, поиска объектов по идентификатору, операций над Entity.
Query для осуществления HQL запросов, возвращение результатов.
Transaction — однопоточный, короткоживущий объект, используемый приложением для указания атомарной единицы выполняемой работы. Он абстрагирует приложение от нижележащих JDBC, JTA или CORBA транзакций.
Для открытия нового сеанса обычно создаётся служебный класс HibernateUtil
Реализация ORM в.NET.
|
|
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!