Time of Update: 2018-12-07
1.訊息的兩種處理方式:(1)發布/訂閱--多個訊息生產者和多個訊息消費者,消費者註冊自己感興趣的主題 (2)點對點--每個訊息只存在一個訊息消費者,多個訊息生產者可以把多個訊息同時發送到訊息佇列中,但每個訊息只會發給一個訊息消費者。 2.JMS的步驟(1)尋找JMS提供者-----找到工廠(2)建立JMS串連-----建立串連(3)建立JMS
Time of Update: 2018-12-07
1.預設EJB BEAN的名稱為JNDI的名稱,除非用註解指定。2.@Remote/@Local可以定義在介面,也可以在實作類別定義。3.如果一個EJB實現了多個介面,必須指定那些介面是remote,哪些是local。4.另一種定義@Remote(value={EjbInterface01.class,EjbInterface02.class}) @Local(value={EjbInterface03.class,EjbInterface04.class})
Time of Update: 2018-12-07
http://tapestry.javaeye.com/blog/31928Hibernate annotation的關係定義一、@OneToOne Java代碼 @Entitypublic class User{ private Address address; @OneToOnepublic Address getAddress() { return address; } public void setAddress(Address address) {
Time of Update: 2018-12-07
JMS是Java的Message Service,JMS的用戶端之間可以通過JMS服務進行非同步訊息傳輸。JMS支援兩種訊息模型:Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub),即點對點和發布訂閱模型。P2P在P2P模型中,有下列概念:訊息佇列(Queue)、寄件者(Sender)、接收者(Receiver)。每個訊息都被發送到一個特定的隊列,接收者從隊列中擷取訊息。隊列保留著訊息,直到它們被消費或逾時。l 每個訊息只有一個消費者(Consumer)
Time of Update: 2018-12-07
來至《java多線程設計模式》每個線程有自己的保險箱---ThreadLocalpackage Sample2;public class Log { private static final ThreadLocal tsLogCollection = new ThreadLocal(); // 加入一個log public static void println(String s) { getTSLog().println(s); } //
Time of Update: 2018-12-07
來至《java多線程設計模式》一、方法:用synchronized方法,每次只讓一個通過。public class UserThread extends Thread { private final Gate gate; private final String myname; private final String myaddress; public UserThread(Gate gate, String myname, String myaddress) {
Time of Update: 2018-12-07
來至《java多線程設計模式》 一、方法:無需synchronized方法,本身就不變,沒有提供可以讓外界修改的方法,只有讀取。public final class Person { private final String name; private final String address; public Person(String name, String address) { this.name = name; this.address =
Time of Update: 2018-12-07
1.環境變數設定JBOSS_HOME,在path添加jboss目錄下bin目錄2.設定相關的build path:jbossall-client和jboss-ejb3x的jar包,junit4包3.使用ant部署4.測試:(1)建立一個web project(2)jsp:<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%><%@ page
Time of Update: 2018-12-07
參考《java多線程設計模式》要求線程等候,以保障執行個體安全。一個server線程取出請求進行處理,一個client線程放進請求待處理。public class RequestQueue { private final LinkedList queue = new LinkedList(); public synchronized Request getRequest() { while (queue.size() <= 0) { try
Time of Update: 2018-12-07
1.註明@Transient表示該欄位不進行映射2.@Table(name=”dbtablename”)註明映射表名3.@Id註解在執行個體變數和方法上的區別: (1)註解在執行個體變數上,依照執行個體變數而不是getter/setter方法來產生表欄位 (2)註解在方法上,依照getter/setter方法而不是執行個體變數來產生表欄位4.通過@GeneratedValue來定義ID的建置原則,預設AUTO,即自動選擇。只用@Id註解時,不自動產生,需要手工分配。
Time of Update: 2018-12-07
Jive 中的設計模式 (Design Pattern) 關鍵字: Jive, Design Pattern. 摘要: Jive 是一個開放源碼的論壇項目, 也就是我們所常見的 BBS, 採用了 SUN 公司的 JSP 技術, 相比起 j2ee 這個龐大的體繫結構, 其整個的設計思想非常 精鍊, 適用於中小型網站, 建立自己的論壇系統. 這篇文章我們就一起來看一看Jive 中所應用的設計模式(Design Pattern). 本文: 關於設計模式,
Time of Update: 2018-12-07
Seam上下文是由架構建立和銷毀的。應用程式不能通過顯式的Java API調用來控制上下文劃分。上下文通常是隱含的。然而,在某些情況下,上下文可以通過annotation(註解)劃分。 基本的Seam上下文有:Stateless contextEvent (or request) contextPage contextConversation contextSession contextBusiness process contextApplication
Time of Update: 2018-12-07
1.遠程用戶端:傳值,對象必須序列化,伺服器對對象的修改不會在用戶端體現。2.本地用戶端: (1)建立一個web項目,與jboss部署在同一個JVM當中。 (2)添加伺服器端項目的依賴或手動添加介面的jar包 (3)在index.jsp改編碼。 本地用戶端也可以使用遠程調用方式:<% Hashtable env=new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.
Time of Update: 2018-12-07
參考《java多線程設計模式》當警戒條件不成立就馬上中斷。 // 若有資料修改,就儲存到擋安裡 public synchronized void save() throws IOException { if (!changed) { System.out.println(Thread.currentThread().getName() + " balks")
Time of Update: 2018-12-07
Company,EmployeeDAO都不變。Employee變為:package com.persia.joined;import java.io.Serializable;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.
Time of Update: 2018-12-07
In my experience, performance problems are more often than not the result of bad database access code, bad database structure, or other such things. One common reason for all this is that no effort at all has been spent on tuning the database,
Time of Update: 2018-12-07
1.將資料庫驅動jar包拷貝到D:\DevelopTool\jboss-4.2.2.GA\server\default\lib下面2.將D:\DevelopTool\jboss-4.2.2.GA\docs\examples\jca下面的資料庫配置模板拷到D:\DevelopTool\jboss-4.2.2.GA\server\default\deploy下面,並修改資料庫名以及登陸名和密碼。例如:<?xml version="1.0" encoding="UTF-8"?><!-
Time of Update: 2018-12-07
解決:http://www.blogjava.net/Bobbyliao/archive/2008/10/01/232018.html 後來發現,原來是UserManagerBean中的@Local,@Remote必須明確寫上介面的類型,才可以。修改代碼如下: package cn.study.ejb; import javax.ejb.Local; import javax.ejb.Remote; import javax.ejb.Stateless;
Time of Update: 2018-12-07
Local Exception Stack: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseExceptionInternal Exception: java.sql.SQLIntegrityConstraintViolationException:
Time of Update: 2018-12-07
1.person與address的一對一單向關係:在address中沒有特殊的註解。在Person中對應到資料庫裡面就有一個指向Address的外鍵.我們也可以增加註釋指定外鍵的列的名字,如下: @OneToOne(cascade=CascadeType.ALL,optional=true) @JoinColumn(name="addressID")//注釋本表中指向另一個表的外鍵。 public Address getAddress() { return