2009-11-06 21 views
5

Tôi đang sử dụng để định cấu hình ứng dụng web trong context.xml, bao gồm các tham số jdbc và các tham số cấu hình ứng dụng.Thay thế thủy tinh là gì đối với context.xml

Dưới cá thủy tinh, nơi được coi là nơi chuẩn để lưu trữ thông tin cấu hình ứng dụng?

Chúng tôi sử dụng để lưu trữ nó trong file context.xml như sau:

<Resource 
url="jdbc:mysql://localhost:3306/db?useUnicode=true&amp;characterEncoding=utf8" 
username="username" 
name="jdbc/db" 
password="secret" 
auth="Container" 
driverClassName="com.mysql.jdbc.Driver" 
maxActive="5" maxIdle="2" maxWait="10000" 
removeAbandoned="true" 
type="javax.sql.DataSource" 
/> 

<Parameter name="application.url" value="http://localhost:8080/News/" override="false"/> 
<Parameter name="smtp.server" value="smtp.example.com" override="false"/> 
<Parameter name="smtp.port" value="25" override="false"/> 
<Parameter name="smtp.from.address" value="[email protected]" override="false"/> 
<Parameter name="smtp.from.name" value="Site administrator" override="false"/> 
<Parameter name="list.name" value="DEV" override="false"/> 
<Parameter name="temporary.folder" value="/tmp" override="false"/> 
<Parameter name="authentication.type" value="LDAP" override="false"/> 

Trả lời

1

Hóa ra câu trả lời là không có thay thế cho các phần trong Tomcats context.xml.

Nó chỉ ra rằng các yếu tố là một điều cụ thể tomcat thường không được hỗ trợ bởi các máy chủ ứng dụng khác như thủy tinh.

Theo như tôi có thể nói, có vẻ như không có sự thay thế đơn giản/hợp lý ngoài việc cấu hình thủ công tài nguyên cơ sở dữ liệu thông qua giao diện GUI hoặc dòng lệnh.

+1

Như không may như nó được, đó chỉ là cách nó hoạt động. Kinda như thế nào tại nơi làm việc, chúng tôi có một tập tin orion-application.xml để cấu hình mọi thứ trên Oracle Application Server. – Powerlord

1

Trong tệp web.xml của ứng dụng, theo thông số kỹ thuật Java EE.

Đây là sự xáo trộn của tomcat về context.xml.

Bạn có thể cấu hình được đặt tên giá trị mà sẽ được thực hiện có thể nhìn thấy lên web ứng dụng như bối cảnh servlet tham số khởi tạo bằng cách xếp lồng yếu tố bên trong phần tử này. Ví dụ, bạn có thể tạo một tham số khởi tạo như thế này:

<Context ...> ... 
<Parameter name="companyName" value="My Company, 
    Incorporated" override="false"/> 
</Context> 

này tương đương với sự bao gồm của phần tử sau trong web ứng dụng mô tả triển khai (/WEB-INF/web.xml):

<context-param> 
    <param-name>companyName</param-name> 
    <param-value>My Company, Incorporated</param-value> 
</context-param> 
+0

Điều này làm việc cho các tham số, nhưng làm thế nào để thiết lập các nhóm kết nối cơ sở dữ liệu? – corydoras

+0

Các nhóm kết nối được xác định bằng gui quản trị. Nhưng nếu bạn cần sửa chữa xml của bạn, tất cả của nó trong sun-web.xml. – alphazero

+1

Đặt sang một bên thực tế tôi khá là xúc phạm bạn nghĩ tôi thích XML. Vấn đề là các kết nối cơ sở dữ liệu không cần phải được cấu hình thủ công mỗi khi bạn triển khai một ứng dụng. Với tomcat bạn chỉ cần thiết lập các chi tiết cấu hình và bạn có thể triển khai đến máy chủ mà không cần phải xoay quanh giao diện GUI. Thêm vào đó khả năng người dùng chơi với giao diện quản trị có thể quên làm những việc như bật hỗ trợ UTF-8 trên nhóm kết nối JDBC và công thức của nó cho thảm họa. – corydoras

2

Đối với tất cả những ai đang tìm kiếm một cách để thiết lập các thông số bối cảnh trong Glassfish - đó là có thể.

Trong khi Glassfish không hỗ trợ tệp context.xml, bạn vẫn có thể đặt/ghi đè tham số ngữ cảnh ứng dụng web. Có lệnh phụ asadmin set-web-context-param để thiết lập các lệnh này. Các giá trị sẽ được lưu trữ trong domain.xml của bạn - sẽ không bị mất khi triển khai lại ứng dụng.

Tóm tắt (từ liên kết tài liệu hướng dẫn trên):

set-web-context-param [--help] --name=context-param-name 
    {--value=value|--ignoredescriptoritem={false|true}} 
    [--description=description] application-name[/module] 

Tài như datasources JDBC có thể được cấu hình với asadmin, quá, hoặc bạn có thể sử dụng gui web của glassfish. Tất cả thông tin đó sẽ được lưu trữ trong tệp domain.xml.

+0

Tôi nghĩ rằng họ sẽ bị mất nếu bạn không triển khai và sau đó triển khai một ứng dụng, mặc dù ... – vkraemer

+0

@vkraemer Tôi đồng ý với bạn về điều đó ... –

+0

Cảm ơn bạn MichaelPaesold, tôi đã cố gắng thêm [context-param vào miền .xml] (https://docs.oracle.com/cd/E19226-01/820-7694/giuiv/index.html) theo cách thủ công nhưng tôi không hiểu mình nên thêm nó ở đâu. Lệnh này thực hiện điều này tự động. Nó sẽ đẹp hơn nếu nó có thể được cấu hình trên web gui. @vkraemer Không có nhu cầu thực sự để undeploy một ứng dụng để triển khai một lần nữa, chúng tôi có thể triển khai lại trực tiếp hoặc chỉ vô hiệu hóa nó một thời gian. Các cấu hình chỉ bị mất nếu chúng tôi không triển khai, nó được lưu giữ nếu chúng tôi triển khai lại chức năng "redeploy" –

Các vấn đề liên quan