07.07.08
How to search for text files under linux
Here's a nice command which leverages find and file to search for text/* mime type files amongst binary files:
Code:
| find . -type f | xargs file -Ni | grep "text/" | cut -d":" -f 1 |
06.02.08
Bout de code Ant astucieux pour créer une liste de fichiers
Un collèque m'a fait part d'un bout de code très astucieux avec Ant pour obtenir en quelques lignes une liste de noms de fichiers séparés par des virgules:
Code:
| <pathconvert | |
| dirsep="/" | |
| pathsep="," | |
| property="my.comma.separated.list"> | |
| <mapper> | |
| <globmapper | |
| from="${dir}/*" | |
| to="*" handledirsep="yes" | |
| /> | |
| </mapper> | |
| <path> | |
| <fileset | |
| dir="${dir}" | |
| includes="**/*.hbm.xml" | |
| /> | |
| </path> | |
| </pathconvert> |
Très pratique pour créer une liste de mappings hibernate !
Merci Nicolas ![]()
17.12.07
Spring Integration: SpringSource enters the EAI market
That's an awesome news, Spring Integration will provide a Spring based programming and runtime model for EAI patterns.
The configuration will be XML and annotations driven, bringing annotation driven configuration ease of use to EAI !
06.12.07
Activating debug messages in JAAS
java.security.auth.debug=valueWhere value can be:
- all (turn on all JAAS debugging)
- logincontext (LoginContext debugging)
- policy (access control policy debugging)
- auth (access control debugging)
- combiner (SubjectDomainCombiner debugging)
28.11.07
Easing the configuration of a development JBoss cluster environment
Configuring a JBoss cluster is tedious because you need multiple machines, you need to configure multiple files on different machines, multicast, ips, shares, network interfaces and etc ... In order to make it easier to test things when working with JBoss clusters, here are a few tips.
First of all, use a virtual environment ! I use VMware Workstation on my development laptop (with virtual ip 192.168.208.2) and configure two debian virtual machines v1 and v2 on a NAT virtual network (192.168.208.x) with DHCP activated. I use a NAT virtual network so that the debian virtual machines can apt-get update from the internet through the dev machine.
I only configure one virtual machine (J1) with java and samba then copy and paste it in order to obtain the second virtual machine J2.
To avoid having multiple configuration files around, I find it convenient to centralize the whole JBoss directory in a shared folder on my windows development machine. I use c:\jboss shared on \\192.168.208.2\jboss in read only mode, I explain why the read only mode a bit later.
I then mount it using smbfs on each virtual JBoss node. It can be automated by adding the following line to your /etc/fstab:
//192.168.208.2/jboss /mnt/jboss smbfs ro,username=yourname,password=yourpasswd 0 0
The shared JBoss configuration must absolutely be mounted read only because it will be used by multiple JBoss instances which must not concurrently modify the same files.
JBoss needs additional configuration here because by default, JBoss creates 4 working directories under the server configuration directory server/all/:
- log: used by log4j and configrued in conf/log4j.xml
- data: used by hsqldb (i think)
- work: used by tomcat
- tmp: used by the jboss micro kernel
Those directories will actually be used in read write mode so we must tell JBoss to use some other directory, specific to each virtual node for its write needs. I use /var/local/jboss.
JBoss allows to do just that with the following property:
jboss.server.home.dir=/var/local/jboss
On the command line, you would pass the property that way:
./bin/run.sh -Djboss.server.home.dir=/var/local/jboss
But to avoid having to remember that and to take advantage of the configuration being centralized on the shared directory on the dev machine, edit the c:\jboss\bin\run.conf file and add the following line at the end:
JAVA_OPTS="$JAVA_OPTS -Djboss.server.home.dir=/var/local/jboss"
Now, you're setup, on each virtual node, you can start the jboss instance directly from the shared mount:
/mnt/jboss/bin/run.sh -c all
The shared /mnt/jboss directory structure will not be modified, all working files will be put in node specific /var/local/jboss sub directories !
Finally, just as you did for the conf/run.conf file, to modify the configuration of cluster nodes, just edit the files directly using the windows editor of your choice under the c:\jboss directory ... All cluster nodes will use those files. Dependencing on whether they are hot deployed or not, you may need to restart all instances of course.
Btw, if someone knows how to restart all nodes in the cluster partition, the tip would be helpfull ![]()
Enjoy !
02.10.07
Think you know what scalability is?
This article just explains what scalability is but put it straight.
18.09.07
Product Line Implementation using Aspect-Oriented and Model-Driven Software Development
This article about Software Product Lines seems to be a must read regarding SPLs.
08.09.07
XML Schemas: Best Practices
This document groups a set of XML Schemas design guidelines. This is a good start.
29.08.07
Bill Burke on scripting languages ;)
I so agree with him, pushing typeless languages in the enterprise is just plain silly.
Asserting architectural soundness
Very handy to make sure architectural rules are not broken.