探索Weblogic Embedded LDAP

Weblogic Ver. 10.3.3

JXplorer Ver. 3.2.1

Weblogic不愧为企业级应用服务器,面向企业级应用最常见的需求之一,Weblogic在安装完成后即附带了一个Embedded LDAP,用于认证/授权/凭证匹配及角色匹配等。本文主要对Weblogic Embedded LDAP进行探索,包括Embedded LDAP的管理、结构…..

阅读更多

解决Ubuntu 10.10中桌面特效不能启用的问题

虽然标题上是解决Ubuntu 10.10桌面特效不能启用问题,但实际这个问题和Ubuntu 10.10本身没什么关系。之所以起这个标题是因为发现很多同学认为这是10.10的BUG。那么看看原因为何把。

阅读更多

解决Ubuntu 10.10下VMware服务不能编译问题 Unable to build kernel module – See log file…

今天抽空将我的Ubuntu 10.04升级至10.10,看起来一切都很美好。但在启动VMware Workstation时提示没有检测到VMware相关模块,需要安装。进行安装过程中报错
Unable to build kernel module – See log file /tmp/xxx…..

解决方法如下,在终端中执行
wget http://www.sputnick-area.net/scripts/vmware7.1.1-patch-kernel-2.6.35.bash
chmod +x ./vmware7.1.1-patch-kernel-2.6.35.bash
sudo ./vmware7.1.1-patch-kernel-2.6.35.bash


再启动VMware workstation,点击Install即可自动完成安装。

注意,在VMware workstation升级后可能需要重新执行该kernel的patch,这时需要首先移除锁文件,否则会导致patch认为已经完成修补而导致补丁安装不成功
sudo rm /usr/lib/vmware/modules/source/.sputpatch

下载不到补丁的同学,移步这里

阅读更多

host定义不正确造成的WebCenter安装错误

OS Ver. Oracle Enterprise Linux 5
WebCenter Ver. 11.1.1.2.0

在客户提供的环境中安装WebCenter时遇到问题,在声明UCM Content Server Port及Content Server Admin Port界面,无论使用任何Port均提示错误:

INST-07106:Port xxxx is not free or not valid

经检查iptables已关闭,且没有其他程序占用目标端口。由于找不到错误原因,故没有选择安装UCM,打算安装WebCenter完成后单独安装UCM。

在WebCenter 安装完成后,进行domain创建,分别创建Admin Server及WLS_Spaces, WLS_Portlet两个Managed Server。后在domain启动过程中发现Admin Server启动及使用正常,而Managed Server启动不成功,报用户验证错误。读Log发现Managed Server启动过程中报出webcenter.demo.com.cn:7001连接不到。

经检查发现,客户提供的Enterprise Linux中在网络配置中指定了host name为
webcenter.demo.com.cn
并在/etc/hosts中加入了一行
xxx.xxx.xxx.xxx webcenter.demo.com.cn webcenter
而host中定义的ip地址并不是当前环境的ip地址。

至此确定问题原因,在安装过程和domain创建/配置过程中,由于当前环境配置了host name,系统自动使用host name代替了当前id地址。而由于host name指向的ip地址并不可用,造成了WebCenter安装过程中的端口检查失败及Managed Server启动过程中的验证失败。

在/etc/hosts中修正ip地址的配置,将其配置为当前环境的ip地址,问题即告解决。

阅读更多

使用ADF制作基于Google API的天气预报


JDeveloper Ver. 11.1.1.3.0
OS Ver. Ubuntu 10.04 LTS

在尝试使用第三方提供的WebService,Portlet等方式进行天气预报小控件的开发后,我发现最为简洁稳定的天气预报实现方式还是调用Google API来进行实现。

主要是请求Google API获得XML报文,解析获得实际的信息,并构建至ADF页面。

该小控件实现了如下内容

1. 读取Google API,获得城市列表、当前天气预报、未来3天天气预报。
2. 切换城市,使用PPR技术,更换城市后不需要刷新整个页面即可刷新天气预报内容。
3. 将城市信息保存入浏览器Cookie,再次进入应用后自动显示上次退出时选择的城市。
该小控件可以iframe方式嵌入,以taskflow方式调用,亦可包装为Portlet供其他应用程序调用。

实现效果截图:

源代码下载

[Updated]
Ver 1.1 解决了xml解析在不同sax解析器版本下的bug,优化cookie存储方式
源代码下载

 


 

阅读更多

WebLogic 11g 在X64平台新建Manage Server启动无法输入密码的BUG

WebLogic Ver. 11g 1.3
OS Ver. RHEL 5.4 X86_64

对于新创建的Domain,启动时要求输入用户名和密码。但出现了只可输入用户名,尚未输入密码程序自动退出的现象。

需要修改该Domain的setDomianEnv.sh。查找LD_LIBRARY_PATH,可见该变量内容为:
LD_LIBRARY_PATH=”${WL_HOME}/server/native/linux/i686${CLASSPATHSEP}${LD_LIBRARY_PATH}”

由于系统使用X86_64环境,这里错误的使用了针对32位环境的LD_LIBRARY_PATH。将这里修改为
LD_LIBRARY_PATH=”${WL_HOME}/server/native/linux/x86_64${CLASSPATHSEP}${LD_LIBRARY_PATH}”
问题即解决。

阅读更多

Discussion Forum (jive forum) LDAP配置

WebCenter Ver. 11.1.1.2.0

在配置WebCenter Spaces的服务过程中发现安装WebCenter Spaces时连带安装的Jive Forums不能使用Weblogic上设定的用户进行登录。怀疑为Jive Forums用户数据源来源配置不正确,故重新配置Jive Forums使用Weblogic上的Embedded LDAP。

安装WebCenter时默认安装的Discussion Forum(即jive forum),发现使用weblogic这个用户不能够登录Admin Console。解决方法为重设jive forum,步骤如下:

阅读更多

扩展WebCenter Spaces 引入客制化taskflow



本来想上载到Google Docs再贴过来的,没想Google Doc不能转换大于500K的文档。上载为PDF了,链接在此:

扩展WebCenter Spaces 引入客制化taskflow

大纲:

第一部分:ExtendWebCenterSpaces 应用的设置

阅读更多

将ADF应用部署为Shared Library

JDeveloper & ADF Ver. 11.1.1.2.0
DB Ver. XE


在一个典型的ADF开发中,通常开发者会依据功能开发大量taskflow,并将其部署为多个ADF Library Jar File,再在主应用中引用这些已经开发完成的ADF jar,并将主应用打包为EAR进行发布。这种开发方式有效的减低了开发人员需要进行协作的开发量,但当打包为Jar加入主应用的某功能需要更新时,必须重新发布主应用。而Weblogic提供允许将war/ear部署为Application或Shared Library,依此特性,可将开发完成的功能Jar部署为多个Shared Library,主应用引用各Shared Library。当需要进行功能的更新时,只需重新部署Shared Library即可。


本例中将开发3个Application,分别为:

Demo_EmployeeApp – 使用ADF开发的具体功能

阅读更多

解决ADF 11g PS2 中 StringIndexOutOfBoundsException

错误栈:
<May 7, 2010 9:28:58 PM CST> <Error> <HTTP> <BEA-101020> <[ServletContext@1701054785[app:em module:/em path:/em spec-
version:2.5]] Servlet failed with Exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -2
at java.lang.String.substring(String.java:1937)
at java.lang.String.substring(String.java:1904)
at org.apache.myfaces.trinidadinternal.style.util.CSSGenerationUtils._getNSComponentSelector
(CSSGenerationUtils.java:632)
at org.apache.myfaces.trinidadinternal.style.util.CSSGenerationUtils.getNamespacedSelectors
(CSSGenerationUtils.java:525)
at org.apache.myfaces.trinidadinternal.style.cache.FileSystemStyleCache._getShortStyleClassMap
(FileSystemStyleCache.java:1086)
Truncated. see log file for complete stacktrace
>

这是JDK6u14以上版本在x86架构使用SSE4.2的处理器上使用时的一个已知bug,编号为6875866

解决方法:关闭JDK的UseSSE42Intrinsics



1. Project Properties -> Run/Debug/Profile -> Default (或其他配置文件名称) -> Edit… -> Java Options -> 加入 -XX:-UseSSE42Intrinsics .

2. 编辑 <JDEV_HOME>/jdev/bin/jdev.conf 加入如下内容 AddVMOption XX:-UseSS42Intrinsics

3. 修改有问题domain的setDomainEnv.sh,在文件末尾加入如下语句
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:-UseSSE42Intrinsics"
export JAVA_OPTIONS

阅读更多