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