Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2020-11-03 | 135 |
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!